首页 > 解决方案 > 在加载构造函数之前注入一个常量

问题描述

在加载控制器之前,我需要一个常量来准备。这是我尝试过的(蹩脚的):-

    $stateProvider.state("landing", {
            templateUrl : "/landing/landingTemplate.html",
            url : "/landing",
            controller : "landingController",
            resolve : {
                returnState = function getReady() {
                    $http.get("data/Config.json").then(function(response) {
                        callGuiConfig = response.data;
                        callApp.constant('callGuiConfig', callGuiConfig);
                        return "ready";
                    });
                }
            }

但我收到了这个错误:-

未捕获的 SyntaxError:速记属性初始化程序无效

排队 :returnState = function getReady() {

我是否以错误的方式使用解析器?

标签: angularjs

解决方案


这是处理常量的官方方法。

angular.module('app', []);

app.constant('MOVIE_TITLE', 'The Matrix');

.controller('MyController', function (MOVIE_TITLE) {
  expect(MOVIE_TITLE).toEqual('The Matrix');
});

你会对这里的第二排感兴趣,其余的只是为了举例。这里注意,常量可以是对象、数组等。不仅仅是字符串。

以这种方式制作的常量的特征是:它是一个单例它不是可实例化的并且它是不可配置的

如果您需要装饰者可以管理和更改的东西,您需要.value()

有关该提供商和其他提供商的更多信息: https ://gist.github.com/demisx/9605099


推荐阅读