$templateCache 在 angular-config in Angular.js 中不工作

$templateCache not working in angular-config in Angular.js

当我尝试在 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...";    
} ]);

您无法在 angular 配置时访问服务。您可以在 app.run 块中访问您的服务。 $templateCache 是您尝试在配置块中使用的服务。

但是,您可以在状态的解析块中访问它。

$stateProvider
        .state("/", {
            url: "/",
            templateUrl: "Views/home.html",
            resolve: {
              data: function ($templateCache,dbService) {
              return dbService.getData();
            }
        });

您只能在 angular.

的配置块时访问提供程序

在下面找到 link 以了解有关 angular 的配置块的更多信息。 https://docs.angularjs.org/guide/module

以下是其官方网站的描述。

  • 配置块 - 在提供商注册和配置阶段执行。只有提供者和常量可以注入到配置块中。这是为了防止服务在完全配置之前意外实例化。
  • 运行 块 - 在注入器创建并使用后执行 启动应用程序。只有实例和常量可以 注入 运行 个区块。这是为了防止进一步的系统 申请期间的配置 运行 时间。