Добавление элемента для выбивания модели представления, не обновление представления - PullRequest
0 голосов
/ 30 августа 2018

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

1 Ответ

0 голосов
/ 30 августа 2018

Приведенный ниже фрагмент кода сделает ваш инвентарь доступным для наблюдения.

    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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...