添加项目以淘汰视图模型,不会更新视图
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了添加项目以淘汰视图模型,不会更新视图相关的知识,希望对你有一定的参考价值。
我有一个ViewModel,我绑定到查看列表项。
var MyViewModel = function() {
var self = this;
self.addItems = function(vm) {
vm.inventoryItems.push('New Item');
}
};
var myVM= new MyViewModel();
ko.applyBindings(myVM);
视图模型有一个名为inventoryItems
的属性(来自服务)。
我有约束力来查看使用,
<ul data-bind="foreach:inventoryItems">
<li>
<input class="form-control" type="text" data-bind="value: $data" />
</li>
</ul>
<div class="text-right">
<a data-bind="click: $parent.addItems">+ Add more</a>
</div>
现在,已经在集合中的项目inventoryItems
正在变得很好。
当我使用添加新项目时,我可以看到通过控制台添加的项目,但视图没有得到更新!
self.addItems = function(vm) {
vm.inventoryItems.push('New Item');
}
答案
以下代码段将使您的inventoryItems可观察
var MyViewModel = function () {
var self = this;
self.inventoryItems = ko.observableArray();
self.addItems = function (vm) {
vm.inventories.push('New Item');
self.inventoryItems(vm.inventories);
}
};
var myVM = new MyViewModel();
ko.applyBindings(myVM);
以上是关于添加项目以淘汰视图模型,不会更新视图的主要内容,如果未能解决你的问题,请参考以下文章