【问题标题】:Force native Knockout Templating强制原生敲除模板
【发布时间】:2025-12-13 05:45:01
【问题描述】:

我有一个需要 jQuery.tmpl 的页面,但我想使用原生敲除模板作为一个

data-bind="foreach: Comments"

属性。因为我已经包含了 jQuery.tmpl,knockout 的原生模板被禁用;有没有办法强制使用本机功能?

谢谢

【问题讨论】:

    标签: knockout.js knockout-2.0


    【解决方案1】:

    您不能在 jQuery.tmpl 模板中使用 foreach 或其他控制流绑定。

    但是,如果您想调用命名模板并强制它使用本机模板引擎,那么您可以执行以下操作:

    <div data-bind="template: { name: 'itemsTmpl', templateEngine: new ko.nativeTemplateEngine() }">
    </div>
    
    ​<script id="itemsTmpl" type="text/html">
        <ul data-bind="foreach: items">
            <li data-bind="text: $data"></li>
        </ul>
    </script>
    

    或在变量中缓存本机模板引擎 (new ko.nativeTemplateEngine()) 的副本。

    【讨论】:

    • 谢谢,这样就完美了!