我有一个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');
}
答案 0 :(得分:2)
下面的代码段将使您的stockingItems可见
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);