knockout.js - knockout 1.3PRE "This template engine does not support anonymous templates nested within its templates"

标签 knockout.js

我在使用新的匿名模板引擎时遇到问题。它不能使用嵌套模板。我收到错误消息:“此模板引擎不支持嵌套在其模板中的匿名模板”。

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

谢谢

最亲切的问候

最佳答案

有几件事应该有助于解决这个问题:

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

  • 因此,对于您的情况,您可能希望删除对 j​​query.tmpl.js 的引用,以便默认使用 native 模板引擎。 native 模板引擎确实支持嵌套模板(匿名或命名)。

    使用 native 模板引擎显示带有匿名模板的命名模板的快速示例:http://jsfiddle.net/rniemeyer/GXFYB/

    关于knockout.js - knockout 1.3PRE "This template engine does not support anonymous templates nested within its templates",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8294515/

    相关文章:

    c# - 当您将 DTO 模式与某些缓存或 MVVM 结合使用时,DTO 模式不是才有用吗?

    javascript - 如何在 knockout.js 中检测除更改事件之外的更改

    javascript - knockout 变更事件处理程序

    javascript - Knockout JS 数据绑定(bind)不起作用

    javascript - AngularJs 中 KnockoutJs 的 WITH 的等效 html 属性是什么

    javascript - isNaN 对字母返回 false

    javascript - knockout JS : foreach binding array inside observable

    css - knockout js CSS 绑定(bind)

    javascript - 为我的网页设置 View 模型时遇到问题

    javascript - 从两个可观察数组中获取计算值