我应该在哪里使用 $templateCache?

Where should I use $templateCache?

我想使用 $templateCache 服务将一些 html 添加到缓存中。在Angular文档示例中,它只显示了在运行中使用它的情况:

var myApp = angular.module('myApp', []);
myApp.run(function($templateCache) {
  $templateCache.put('templateId.html', 'This is the content of the template');
});

但是,当我尝试通过 myApp 配置添加一些模板时,似乎出现了注入器错误。 运行 中没有使用 templateCache 的方法吗?

谢谢

run 是使用 $templateCache 的正确位置。由于 $templateCache 是一项服务,因此在配置阶段无法访问它,因为它尚未创建。 config 用于使用其提供商配置服务(如 $templateCache)。您只能将提供程序注入 config

我的意见是,大多数时候,您根本不应该编写直接访问 $templateCache 的代码。您应该做的是使用 gulp 等构建系统和 gulp-angular-templatecache 等插件。

然后你的模板只是一堆 .html 文件,你的编辑器将它们识别为 html 并在你编辑时进行适当的 linting,你所要做的就是确保你的应用程序声明对模板模块的依赖。

所以你上面给出的代码将变成:

var myApp = angular.module('myApp', ['myappTemplates']);

并且 .run()$templateCache 的使用被下推到你从未见过的自动生成的代码。