Kendo ui 源代码不含父元素的剑道mvvm模板

Kendo ui 源代码不含父元素的剑道mvvm模板,kendo-ui,template-engine,kendo-mvvm,Kendo Ui,Template Engine,Kendo Mvvm,我试图在一个列表中绑定一个数组,但是列表需要在数组的值之前有一个静态元素 小提琴显示了我想要的结果,只是它当前嵌套了li项 HTML: 对于KnockoutJS,可以使用注释语法: <!-- ko: foreach: products --> <!-- /ko --> 剑道UI中有类似的东西吗?我认为您应该能够通过扩展剑道绑定来实现这一点。我在会议上举了一个小例子,看看它是否符合你的要求 kendo.data.binders.staticValue = kendo

我试图在一个列表中绑定一个数组,但是列表需要在数组的值之前有一个静态元素

小提琴显示了我想要的结果,只是它当前嵌套了
li

HTML:

对于KnockoutJS,可以使用注释语法:

<!-- ko: foreach: products -->
<!-- /ko -->


剑道UI中有类似的东西吗?

我认为您应该能够通过扩展剑道绑定来实现这一点。我在会议上举了一个小例子,看看它是否符合你的要求

kendo.data.binders.staticValue = kendo.data.Binder.extend({
        refresh: function () {
                debugger;
                var that = this;
                var value = that.bindings["staticValue"].get();
                $(that.element).text(value + $(that.element).text());
            }
        });

我知道这是一个老问题,但是如果这个人想严格地实现mvvm,他们所需要的只是调用相同的数据绑定和数据模板,但将其放在容器元素上,例如

<ul data-template="template-id" data-bind="source: items"></ul>
    在模板上只需更改

    <script id="list-template" type="text/x-kendo-template">
        <li data-bind="text: name"></li>
    </script>
    
    
    
  • 
    
  • #:staticValue#::#:名称#

  • 模型中传递给模板的任何内容都是可用的,甚至可以混合使用数据注入和模板:#语法

    我有点明白你的意思,但是JSFIDLE和我的一样。也许你忘了存钱了?当我回到那段代码时,我会考虑做类似的事情!很抱歉我没有更新JSFIDLE。这是一个更新的不是我想要的,但你引导我找到一个体面的解决方案。在应用模板后,这会预先添加我想要的任何HTML。谢谢
    <ul data-template="template-id" data-bind="source: items"></ul>
    
    <script id="list-template" type="text/x-kendo-template">
        <li data-bind="text: name"></li>
    </script>
    
    <script id="list-template" type="text/x-kendo-template">
        <li>#: staticValue # :: #: name #</li>
    </script>