如何删除 Alloy 集合中的所有模型

How do you delete all models in an Alloy Collection

如何从控制器功能中删除 Alloy 集合中的所有模型。该集合正在使用属性同步适配器。我认为 backbone 重置方法是可行的方法,但我无法使其工作。

对我来说最快的方法是 运行 destroy() 每个模型。要快速完成此操作,您可以像这样使用下划线(内置):

_.invoke(Alloy.Collections.library.toArray(), 'destroy');

甚至扩展 model.js

extendCollection: function(Collection) {
        _.extend(Collection.prototype, {
            // extended functions and properties go here
            dump: function() {
                // get all models
                return this.models;
            },
            clear: function() {
                // remove/destroy all models
                _.invoke(this.toArray(), 'destroy');
            }
        });

        return Collection;
}

和运行Alloy.Collections.library.clear();

专业提示:您始终可以搜索 delete all models in backbone 之类的内容并立即使用大部分结果,因为它在后台使用 backbone。