按名称属性排序
Sort by name attribute
companies
和 ships
都有一个 name
属性。但我不明白如何在此代码中使用 sortProperties
:
app/controllers/index.js
import Ember from 'ember';
export default Ember.Controller.extend({
selectedCompany: null,
companies: function(){
var model = this.get('model.companies');
return model;
}.property(),
ships: function(){
var model = this.get('model.ships');
return model;
}.property()
});
app/routes/index.js
import Ember from 'ember';
export default Ember.Route.extend({
model: function() {
return {
companies: this.store.find('company'),
ships: this.store.find('ship')
};
}
});
如何按 name
属性对 companies
和 ships
进行排序?
使用sortBy
函数。像这样:
import Ember from 'ember';
export default Ember.Controller.extend({
selectedCompany: null,
sortedCompanies: function(){
var model = this.get('model.companies').sortBy('name');
return model;
}.property('model.companies'),
sortedShips: function(){
var model = this.get('model.ships').sortBy('name');
return model;
}.property('model.ships')
});
记得把你观察到的属性放到.property()
里面,不然模型变化的时候缓存不会失效。
companies
和 ships
都有一个 name
属性。但我不明白如何在此代码中使用 sortProperties
:
app/controllers/index.js
import Ember from 'ember';
export default Ember.Controller.extend({
selectedCompany: null,
companies: function(){
var model = this.get('model.companies');
return model;
}.property(),
ships: function(){
var model = this.get('model.ships');
return model;
}.property()
});
app/routes/index.js
import Ember from 'ember';
export default Ember.Route.extend({
model: function() {
return {
companies: this.store.find('company'),
ships: this.store.find('ship')
};
}
});
如何按 name
属性对 companies
和 ships
进行排序?
使用sortBy
函数。像这样:
import Ember from 'ember';
export default Ember.Controller.extend({
selectedCompany: null,
sortedCompanies: function(){
var model = this.get('model.companies').sortBy('name');
return model;
}.property('model.companies'),
sortedShips: function(){
var model = this.get('model.ships').sortBy('name');
return model;
}.property('model.ships')
});
记得把你观察到的属性放到.property()
里面,不然模型变化的时候缓存不会失效。