将常数添加到AngularJS应用中



我正在尝试将常数添加到我的gangularjs应用程序中,但是我遇到了不确定的错误。

var appConstants = {
};
var appErrorMsgs = {
    loginFail: "Login failed, please check your credentials"
};

var URI_PATH = {
    registration: "/registration",
    seasons: "/seasons",
    vip: "vip",
};
angular.module('app.constants', []).
    constant('CONST', appConstants).
    constant('ERROR_MSG', appErrorMsgs).
    constant('URI_PATH', URI_PATH);
var app = angular.module('AppName', ['snap', 'ngRoute','ngResource','ngTouch','angular-carousel','FSControllers', 'FSPartials','FSDirectives', 'kinvey', 'app.constants']);

我想你只是忘记注射它们:

这是一个plunker:http://plnkr.co/edit/4gav6pvjtpwjtpwjexchya2i?p = preview

app.controller('MainCtrl', function($scope, URI_PATH, ERROR_MSG, CONST) {
  console.log(CONST);
  console.log(ERROR_MSG);
  console.log(URI_PATH);
});

我想建议的解决方案是使用服务:

angular.module('AppName').factory('app.constants', [buildConstants]);
function buildConstants(){
    var appConstants = { };
    var appErrorMsgs = {
            loginFail: "Login failed, please check your credentials"
        };
    var URI_PATH = {
        registration: "/registration",
        seasons: "/seasons",
        vip: "vip",
    };
    return {
        CONST: appConstants,
        ERROR_MSG: appErrorMsgs,
        URI_PATH: URI_PATH
    };
}

然后,您可以根据需要将其注入控制器和指令。希望这会有所帮助。

最新更新