2013-05-28 45 views
1

我试图用John Papa的热毛巾模板使用KO外部模板引擎。 该模板未加载,以及继续说“加载....”。 我查看了Chrome调试器,它显示模板已成功检索。 我可以看到在DOMKO外部模板引擎/ HotTowel模板/ Infuser加载

<div class="infuser-loading">Loading...</div> 

提供的代码下面是我做了什么。 TrafficCop.js,infuser.js,koExternalTemplateEngine.js

3)添加到config.js初始化浸泡和被称为: 1)使用的NuGet

2)添加到BundleConfig下载最新的KO外部模板引擎shell.js。

var configureExternalTemplates = function() { 
    infuser.defaults.templatePrefix = "_"; 
    infuser.defaults.templateSuffix = ".tmpl.html"; 
    infuser.defaults.templateUrl = "./App/tmpl"; 
    infuser.defaults.ajax 
}; 

4)在视图中,我试着拨打:

<div class="view-list" data-bind="template: { name: 'Listbox', foreach: object }"> 
</div> 

如前所述,我可以在模板文件与状态正确加载跟踪见200 /应用/ TMPL/_listbox .tmpl.html

我注意到,刷新几次后,最终模板显示。

任何帮助将不胜感激。谢谢!

回答

2

KO外部模板库根据需要加载模板。 Durandal(Hot Towel的一部分)通过其模块和require.js为您完成此操作。所以你根本不需要KO外部模板引擎。

+0

嗨,John,谢谢你的回复。您是否建议使用Durandal撰写代码或淘汰模板功能? –

+0

换句话说<! - ko compose ..... - >而不是

?? –

+0

是的,确切地说。组合绑定将让你绑定到一个模块(在你的情况下,一个模板/视图与相应的视图模型)。 –