我有一个名为variableDataPackages的模型,其结构如下:
TM.VariableDataPackage = DS.Model.extend({
name: DS.attr(),
number: DS.attr(),
variableData: DS.attr(),
vds:DS.attr(),
asset_id:DS.attr(),
vdp_id:DS.attr(),
type: DS.attr(),
description: DS.attr(),
vdpackage_id:function(){
if((this.get("type.name") != "d")&&(this.get("type.name") != "u")){
return this.get("type.name")
} else {
return this.get("type.name") + this.get("number");
}
}.property("type","number")
})
显示值是计算属性,并且经常更新/删除/创建此模型的商店中包含的记录集。
我希望能够根据vdpackage_id对记录进行排序。
有没有办法做到这一点?
答案 0 :(得分:1)
您可以使用控制器上的Ember.SortableMixin
(示例可以在guides中找到)。这将使您能够对不同的键进行排序,并使其依赖于用户输入。
您可以在代码中的任何位置创建Ember.ArrayProxy
。模型钩子的一个例子(未经测试,只是为了表明这个想法)将是:
model: function () {
return Ember.ArrayProxy.extend({
arrangedContent: Ember.computed.sort('content', 'props'),
props: ['bar:asc']
}).create({
content: this.store.all('foo')});
});
}