Ответ 1
Ты близко. Вы вызываете только applyBindings
один раз. Вместо этого вы должны установить свойство observable
в вашей модели представления.
Вот как вы можете настроить свою модель просмотра:
function ViewModel() {
var self = this;
self.data = ko.observableArray();
};
var viewModel = new ViewModel();
ko.applyBindings(viewModel);
Затем, когда у вас есть новые данные (например, в вашем вызове ajax
):
$.ajax({
success : function(content, textStatus, jqXHR) {
viewModel.data(content);
}
});
Примечание. Вы можете установить данные несколькими способами. Если вы хотите, чтобы ваше время было за пределами модели просмотра, вы можете использовать экземпляр модели представления (в моем примере, viewModel
) для доступа к свойствам и их обновления. Вы можете поместить синхронизированное событие в свою модель просмотра, если хотите, а затем просто вызовите self.data(content)
(или что-то подобное).