我应该在哪里使用 $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
的使用被下推到你从未见过的自动生成的代码。
我想使用 $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
的使用被下推到你从未见过的自动生成的代码。