1

有没有办法在 Meteor 中创建一个可观察的数组或内存集合?

我伪造它的方式是创建一个包含数组的会话变量,Session.setDefault('people', []); 然后在数组更改时更新该值,Session.set('people', modifiedArray).

4

1 回答 1

8

您可以通过调用构造函数来创建本地集合,Meteor.Collection而无需在参数中提供集合名称,即:

LocalList = new Meteor.Collection();

请参阅Meteor 文档中的此内容。

还要注意,由于Dependencies ,您可以观察到任何您想要的东西。

例子:

List = function() {
    this.data = [];
    this.dep = new Deps.Dependency();
};

_.extends(List.prototype, {
    insert: function(element) {
        this.data.push(element);
        this.dep.changed();
    },
});

var list = new List();

Template.observer.helper = function() {
    list.dep.depend();
    return list.data;
};

helperobserver每次调用list.insert函数时都会更新并且模板会重新呈现。

于 2013-08-16T18:20:17.080 回答