2

我正在使用 Ajax 加载数据,对于初始加载,我可以使用它来绑定所有数据到 observableArry:

            success: function (result) {
                var mappedData = $.map(result.d, function (item) {
                    return new Applicant(item);
                });
                self.Applicants(mappedData);
            }

问题是当我想向数组加载更多时,我知道如何添加一个,但是如果下一次加载将超过 1 个对象,并且我想绑定到数组,我该怎么做呢?

self.Applicants.push(mappedData); 不会工作。

有什么建议么?

4

2 回答 2

3

如果您需要将一堆对象添加到可观察数组中,我只需将整个数组设置为其当前内容,并与新对象连接。

以下应该有效:

self.Applicants(self.Applicants().concat(mappedData));
于 2013-01-10T21:18:43.793 回答
1

我会使用:

Array.prototype.push.apply(self.Applicants(), mappedData);
self.Applicants.valueHasMutated();

有关使用可观察数组的一般提示和技巧,请务必查看Ryan Niemeyer 的文章

于 2013-01-10T21:20:46.237 回答