$templateCache не работает в angular-config в Angular.js
Я получаю "angular.min.js:6Uncaught Error: [$injector:modulerr]" при попытке использовать $templateCache в моем блоке app.config, если я удалю параметр $templateCache из app.config, то я не вижу никаких ошибки. Пожалуйста, дайте мне знать, если я что-то пропустил. Заранее спасибо.
var app = angular.module("app", ['ui.router'], function () {
console.log('Application Initiated Successfully...');
})
.run(function ($templateCache, $http) {
console.log("app is running");
$http.get("Views/home2.html", { cache: true }).success(function (html) {
$templateCache.put("Test.html", html);
console.log($templateCache.get("Test.html"));
});
console.log($templateCache.info());
});
app.config(['$stateProvider', '$urlRouterProvider', '$locationProvider', '$templateCache', function ($stateProvider, $urlRouterProvider, $locationProvider, $templateCache) {
$urlRouterProvider.otherwise("/");
$stateProvider
.state("/", {
url: "/",
templateUrl: "Views/home.html"
});
}]);
app.controller("indexController", ["$rootScope", "$scope", function ($rootScope, $scope) {
console.log('indexController');
$scope.message = "Hi lets get started...";
} ]);
1 ответ
Вы не можете получить доступ к сервису во время угловой конфигурации. Вы можете получить доступ к своему сервису внутри своего блока app.run. $templateCache - это служба, которую вы пытаетесь использовать в своем блоке конфигурации.
Тем не менее, вы можете получить к нему доступ в своем блоке разрешения состояния.
$stateProvider
.state("/", {
url: "/",
templateUrl: "Views/home.html",
resolve: {
data: function ($templateCache,dbService) {
return dbService.getData();
}
});
Вы можете получить доступ только к провайдерам во время блока конфигурации angular.
Найдите ниже ссылку, чтобы понять больше о конфигурации блока угловых. https://docs.angularjs.org/guide/module
Ниже приведено описание с официального сайта.
- Блоки конфигурации - выполняются на этапе регистрации и настройки провайдера. Только провайдеры и константы могут быть введены в блоки конфигурации. Это необходимо для предотвращения случайного создания служб до их полной настройки.
- Блоки запуска - выполняются после создания инжектора и используются для запуска приложения. Только экземпляры и константы могут быть введены в блоки выполнения. Это должно предотвратить дальнейшую настройку системы во время выполнения приложения.