В KnockoutJS, как правильно обновлять observableArray данных JSON при каждом запуске команды AJAX?
Прямо сейчас я очищаю массив, используя что-то вроде viewmodel.items ([])затем заполняет его данными JSON с сервера.Если не использовать плагин сопоставления KnockoutJS (который может быть единственным способом сделать это), каков правильный путь?
Моя логика сервера будет каждый раз посылать одни и те же данные, поэтому я не могу просто выполнять итерацию и помещать элементы в массив, если я не хочу дублирования.
//// Добавляю, как я это делаю сегодня ////
Я не уверен, почему я делаю это так, но я так и думалкак обновить.В общем, как я уже говорил, я получаю данные JSON, а затем передаю их примерно так:
_model.addIncident = function (json) {
var checked = json.UserTouches > 0 ? true : false;
_model.incidents.push({
id: ko.observable(json.IncidentIDString),
lastTouchId: ko.observable(json.UserLastTouchIDString),
weight: ko.observable(json.Weight),
title: ko.observable(json.Title),
checked: ko.observable(checked),
createdOn: ko.observable(json.IncidentCreatedOn),
servicename: ko.observable(json.Servicename),
inEdit: ko.observable(false),
incidentHistory: ko.observableArray(),
matchScore: ko.observable()
});
};
для каждого узла в массиве JSON.Как вы можете видеть, у меня есть некоторые настраиваемые наблюдаемые, которые собираются с каждым проходящим фрагментом данных.Возможно, это неправильный путь, но до сих пор он работал отлично.