添加项目以淘汰视图模型,不更新视图

Adding item to knock out view model , is not updating the view

我有一个要绑定到视图列表项的 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);