AngularJS:如何在路由器解析中定义常量

问题描述 投票:0回答:1

我想在路由器解析中定义常量,并在控制器中使用该常量(通过DI)。但是当我运行项目时,它显示有关未知obj提供程序的错误。

var app = angular.module("pikadOnlineApp", []);
stateProvider.state("App", {
    url: "",
    controller: "appCtrl",
    templateUrl: "app.html",
    resolve: {
        initData: ["$q", "$timeout", function ($q, $timeout) {
            var deferred = $q.defer();
            $timeout(function () {
                app.constant("obj", "11111");
                deferred.resolve();
            }, 5000);
            return deferred.promise;
        }]
    }
})
angularjs angular-ui-router
1个回答
0
投票

简单地将常量注入解析器函数,然后将其返回:

app.constant("obj", "11111");

app.config(["$stateProvider", function ($stateProvider) {
    $stateProvider.state("App", {
        url: "",
        controller: "appCtrl",
        templateUrl: "app.html",
        resolve: {
            initData: ["obj", function (obj) {
                return obj;
            }]
        }
    })
}])
© www.soinside.com 2019 - 2024. All rights reserved.