2015-04-02 201 views
0

companiesships都具有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() 
}); 

应用程序/路由/ 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属性对companiesships进行排序?

回答

1

使用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()财产,否则它的缓存不会失效模式发生变化时。