1
ビューモデル内から、observableArrayにアイテムを動的にプッシュしようとしています。 ajaxはデータを正しく返します。ノックアウトアイテムが存在しないobservableArrayにプッシュ
HTML:
<li class="liTagulTagsChild" data-bind="click:$root.GetEmissions">/li>
のjavascript:
var TagDetail = function (di_titre, di_diffusion) {
this.di_titre = ko.observable(di_titre);
this.di_diffusion = ko.observable(di_diffusion);
}
var testA = [];
this.test = ko.observableArray(testA);
this.GetEmissions = function (c, event) {
var element = event.target;
var tag_id = element.getAttribute('tag_id');
$.AjaxAntiforgery({
url: 'Emission/GetDetailsByTagID/',
data: {
tag_id: tag_id
},
success: function (result) {
for (var i = 0; i < result.length; i++) {
var tD = new TagDetail(result[i].DI_TITRE, result[i].DI_DIFFUSION);
this.test.push(tD);
}
}
});
}
問題:私はthis.testであるためthis.testするアイテムをプッシュすることはできませんGetEmissions関数内から null(定義されていない)。言い換えれば
、
this.test.push(tD);
失敗しました。 (ヌル参照または定義されていない) 解決法誰ですか?