我正在使用Ajax加载数据,对于初始加载,我可以将所有数据绑定到observableArry:
success: function (result) {
var mappedData = $.map(result.d, function (item) {
return new Applicant(item);
});
self.Applicants(mappedData);
}
问题是当我想要向数组加载更多内容时,我知道如何添加一个,但是如果下一次加载将超过1个对象,并且我想绑定到数组,我该怎么做呢?
self.Applicants.push(mappedData);不行。
有什么建议吗?
答案 0 :(得分:3)
如果你需要在你的可观察数组中添加一堆对象,我只需将整个数组设置为当前内容,并与新对象结合。
以下内容应该有效:
self.Applicants(self.Applicants().concat(mappedData));
答案 1 :(得分:1)
我会用:
Array.prototype.push.apply(self.Applicants(), mappedData);
self.Applicants.valueHasMutated();
一般提示&使用可观察数组的技巧,请务必查看Ryan Niemeyer's article on it。