让我们假设,我的控制器中有几个计算属性可以改变模型:
_parents: Ember.computed.mapBy('model', 'parent'),
_parentUniq: Ember.computed.uniq('_parents'),
parents: Ember.computed.map('_parentUniq', (rawParent)=> {
return `\parent\${rawParent}`
}),
sortedParents:Ember.computed('parents',function(){
return this.get('parents').sort();
}),
在我的模板中,我只使用sortedParents
。我可以用某种方式链接Ember.computed吗?
答案 0 :(得分:1)
您可以使用ember-composable-helpers
插件。你可以链多个助手。 reference
样本格式,
(sort-by "age:desc" (map (action "appendParent") (union (map-by 'parent' model))))
在actions
,
appendParent(rawParent){
`\parent\${rawParent}`
}
编辑1: 如果只是字符串或数字的数组,那么你应该提供排序函数来排序,
{{sort-by mySorter result}}
并在控制器中定义mySorter
函数,
import Ember from 'ember';
export default Ember.Controller.extend({
result: ['a', 'c', 'b'],
mySorter(a, b) {
if (a > b) {
return 1;
} else if (a < b) {
return -1;
}
return 0;
}
});