knockoutjs 1.3PRE"此模板引擎不支持嵌套在其模板中的匿名模板"

Jan*_*ren 8 knockout.js

我遇到了新的匿名模板引擎的问题.它不能使用嵌套模板.我收到错误:"此模板引擎不支持嵌套在其模板中的匿名模板".

我的问题:如何强制knockoutJS使用jquery模板引擎而不是新引擎.(直到它还支持嵌套模板)

谢谢

最诚挚的问候Jan

RP *_*yer 21

一些应该有助于澄清这一点的事情:

  • 如果在Knockout.js之前引用jquery.tmpl.js,则KO会将jQueryTmplTemplateEngine设置为默认值.
  • jQueryTmplTemplateEngine不支持匿名模板.这意味着,你不能像使用控制流绑定foreach,if,ifnot,和with在其内.您仍然可以使用模板绑定(包括嵌套模板).
  • 您可以通过调用来控制默认模板引擎ko.setTemplateEngine().您可以传递要使用的引擎实例ko.setTemplateEngine(new ko.nativeTemplateEngine)
  • 您还可以将模板引擎传递给templateEngine参数中的模板绑定.

因此,对于您的情况,您可能希望删除对jquery.tmpl.js的引用,以便默认使用本机模板引擎.本机模板引擎支持嵌套模板(匿名或命名).

快速示例使用本机模板引擎显示其中包含匿名模板的命名模板:http://jsfiddle.net/rniemeyer/GXFYB/