使用編輯項目的正確方法是什麼?Kendo UI Mobile & MVVM?在使用Kendo UI Mobile和MVVM時,在列表視圖中編輯項目的正確方法是什麼?
使用下面的時候我沒有得到預期的結果:
HTML
<div id="itemsView"
data-role="view"
data-model="vm">
<ul data-role="listview" data-bind="source: items"
data-template="itemsTemplate">
</ul>
<script id="itemsTemplate" type="text/x-kendo-template">
<li>
#=Name#
</li>
</script>
<input type="text" data-bind="value: newValue" />
<button data-role="button" data-bind="click: update">update</button>
</div>
的JavaScript
var vm = kendo.observable({
items: [{
Name: "Item1"}],
newValue: '',
update: function(e) {
var item = this.get("items")[0];
item.set("Name", this.get("newValue"));
//adding the follwoing line makes it work as expected
kendo.bind($('#itemsView'), vm);
}
});
kendoApp = new kendo.mobile.Application(document.body, {
transition: "slide"});
我期望列表視圖,以反映變化該項目的名稱屬性。相反,新項目被添加到列表視圖。檢查數組顯示沒有附加項目,並且發生了更改。 (重新)將視圖綁定到視圖模型會更新列表以反映更改。在這樣的改變之後重新綁定似乎沒有任何意義。
這裏是的jsfiddle: http://jsfiddle.net/5aCYp/2/
由Petyo回答謝謝但我的情況是不同的,因爲我使用MVVM。我用更清晰的代碼示例更新了問題,並且我還創建了一個jsfiddle。 – user1843640