我有一个非常基本的Price
模型,如下所示:
App.Price = DS.Model.extend({
value: DS.attr()
});
App.Price.reopenClass({
FIXTURES: [
{ id: 1, value: 29.99 },
{ id: 2, value: 39.99 },
{ id: 3, value: 49.99 },
{ id: 4, value: 55.99 }
]
});
以下是使用此模型的路线:
App.PricingRoute = Ember.Route.extend({
model: function(){
return this.store.find('price');
}
});
在控制器中,我将排序设置为基于value
属性:
App.PricingController = Ember.ArrayController.extend({
sortProperties: ['value'],
sortAscending: true
});
然后我的模板(在Jade中)我希望它们按排序顺序显示:
{{#each price in this}}
li.price-levels__value {{price.value}}
.price-levels__remove("{{action 'delete' price.id}}")
{{/each}}
问题是他们没有排序。有趣的是,如果我将value
属性的类型更改为字符串,则排序可以正常工作。
例如
{ id: 1, value: '29.99' }
{ id: 2, value: '39.99' }
etc.
那么如何让排序处理数值模型属性?