Наблюдение за свойствами массива, наблюдаемого в KnockoutJS

Я работаю над приложением ASP.Net MVC. Мое действие возвращает представление с моделью, которая представляет собой массив объектов (класс со свойствами, такими как Name, ID, IsViewable).

var model = @Model.ToJson(); // done via extension call

Я хочу наблюдать за этим массивом, поэтому всякий раз, когда он изменяется, я могу обновить таблицу, которая была привязан к шаблону.

var viewModel = {
    accounts = ko.observableArray(model)
}

Это прекрасно работает для добавления и удаления элементов из массива. Однако я также хочу, чтобы шаблон обновлялся при изменении свойства в одной из учетных записей (например, имени или идентификатора).

На веб-сайте KnockoutJS сказано: Конечно, вы можете сделать эти свойства наблюдаемыми, если хотите, но это независимый выбор . Это то, что я не могу понять, как это сделать.

Я пробовал что-то вроде этого, но безрезультатно:

var viewModel = {
    accounts = ko.oservableArray([])
}

for(var i = 0; i < model.length; i++) {
    ko.observableArray(model[i]);
    viewModel.accounts.push(model[i]);
}

Я могу опубликовать шаблон и таблицу, если это необходимо.

9
задан harryfino 21 January 2011 в 19:16
поделиться