我将我的模板预加载在一个 javascript 字符串数组中,例如var t = JST['firstTemplate']
,在哪里t
,
<div>This scope has a value of {{value}}</div>
如何在ng-include
指令中使用这个预加载的模板?
请注意,我在这种情况下的模板可能更复杂,可能包含嵌套视图和模板以及它们自己的嵌套范围和控制器。所以我不确定是否有任何 ng-bind 指令会有所帮助?
更新:
查看它的来源ng-include
似乎是一个很好的方法是将模板加载逻辑解耦到可定制的提供程序中。
当前的默认加载机制只是简单地$http.get
使用$templateCache
作为缓存提供程序。似乎我可以将模板内容JST['firstTemplate']
注入模板缓存,但我必须在启动时为每个模板执行此操作。
$templateCache.put('firstTemplate', JST['firstTemplate']);
然后有,
<div ng-include="firstTemplate"></div>
我还可以编写一个与每个 ng-include 并行的自定义指令,以某种方式对模板进行预缓存。这又显得笨重了。
更新#2
我将尝试覆盖 templateCache,以便它使用我已经预加载的 JST 哈希。如果可行,将发布结果。