【发布时间】:2015-12-13 17:25:15
【问题描述】:
我有一个 jQuery JSON 函数,它提取一个 JSON 文件,使用 Knockout 映射对其进行映射,然后将其应用到一个可观察数组:
self.emails = ko.observableArray([]);
$.getJSON("emails.json", function(data) {
var emails = ko.mapping.fromJS(data);
self.emails(emails());
});
我遇到的问题是,如果我 alertgetJSON 函数中的 self.emails(),它会显示里面的所有对象,但是如果我 alertgetJSON 之外的 self.emails()函数,它是空的。
我对 Knockout 有点陌生,但据我了解,由于我将它们设置为可观察对象,因此它们应该在函数内外保持相同的值,因为它们应用于 self 变量。
我在这里做错了什么或遗漏了什么吗?
【问题讨论】:
-
您确定在
getJSON完成后外面的警报会触发吗? -
我在所有绑定函数之后将警报放在函数的最后,所以我认为它会在那时完成,但即使我在函数外部同时提醒 observable 它还是空的。
-
我相信你是对的,我认为它只是在处理绑定之前触发警报。
标签: knockout.js