【问题标题】:Kendo-UI assign template values to MVVM, which is not a property of the binded the DatasourceKendo-UI 将模板值分配给 MVVM,这不是绑定的 Datasource 的属性
【发布时间】:2015-10-01 18:17:10
【问题描述】:

您能告诉我如何将带有输入字段的动态表单数量的值分配给模板中的 MVVM 属性。官方文档的示例始终绑定到绑定数据源的属性。我不想使用数据源属性,因为我有一个更复杂的数据源,所以我不想将整个对象发送到服务器,只有输入的值!我想要这样:

<div id="example" data-template="template" data-bind="source: arr"></div>

<script id="template" type="text/x-kendo-template">
    <div>
        <div> Age: ${age}</div>
        <input type="text" data-bind="value: inputs"/>
        <h1 data-bind="text: inputs"></h1>
        <span data-bind="click: show">click</span>
    </div>
</script>

var arr = new kendo.data.ObservableArray([
    { name: "John Doe", age: 23 }, 
    { name: "Jane Doe", age: 34 }
]);

var viewModel = kendo.observable({
    arr: arr ,
    inputs:"asdas",
    show: function(){alert(viewModel.get('inputs'));}

});

kendo.bind($("#example"), viewModel);

您会看到输入属性没有得到输入的值。正确的做法是什么?

谢谢

【问题讨论】:

标签: mvvm data-binding kendo-ui kendo-mvvm kendo-template


【解决方案1】:

这是您的更新代码

<div id="example" data-template="template" data-bind="source: arr"></div>

<script id="template" type="text/x-kendo-template">
    <div>
        <div> Age: ${age}</div>
        <input type="text" data-bind="value: name"/>
        <h1 data-bind="text: name"></h1>
        <span data-bind="click: show">click</span>
    </div>
</script>

var arr = new kendo.data.ObservableArray([
    { name: "John Doe", age: 23 }, 
    { name: "Jane Doe", age: 34 }
]);

var viewModel = kendo.observable({
    arr: arr ,
    inputs:"asdas", // Binding with this is also working
    show: function(e){alert(e.data.name);}

});

kendo.bind($("#example"), viewModel);

在这个小提琴链接中工作:http://jsfiddle.net/iamsalik/pk7jr1x1/1/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多