У меня есть 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');
}