AngularJS: Как определить константу в разрешении маршрутизатора - PullRequest
0 голосов
/ 04 февраля 2020

Я хочу определить постоянную в разрешении маршрутизатора и использовать ее в контроллере (по 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;
        }]
    }
})

Ответы [ 2 ]

0 голосов
/ 04 февраля 2020

Я нашел это.

resolve: {
    initData: ["$q", "$timeout", function ($q, $timeout) {
        var deferred = $q.defer();
        $timeout(function () {
            $provide.value("SECTOR_COLORS", "Angular JS");
            deferred.resolve();
        }, 2000);
        return deferred.promise;
    }]
}
0 голосов
/ 04 февраля 2020

Просто введите постоянную в функцию распознавателя и верните ее:

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;
            }]
        }
    })
}])
...