オブザーバブル配列に要素を追加したときに UI が更新されない理由がわかりません。AJAX getJSON 呼び出しデータで何もしていないことに気付きましたが、要素を追加するときに、ノックアウトが監視可能な配列を更新するべきではありませんか? 「test1」は正常に表示されますが、「test2」は表示されません。PHP または JS のエラーはなく、単に UI が更新されません。
HTML:
<div class="allScheduleWrap" data-bind="foreach: schedules">
<div class="schedule">
<div class="downTime" data-bind="text:downTime"></div>
</div>
</div>
JS:
$(document).ready(function() {
var AllSchedules = [];
AllSchedules.push({downTime: "test1"});
function SchedulesViewModel() {
var self = this;
self.schedules = ko.observableArray(AllSchedules);
}
ko.applyBindings(new SchedulesViewModel());
$.getJSON("GetSchedules.php", function(data) {
AllSchedules.push({downTime: "test2"}); //does NOT update the UI
});
});