无法设置排序要求的数据
Not able to set the data for sorting requirement
我正在尝试通过扩展 Ember
对象来对我的数据进行排序。但是出现错误:TypeError: dataFilter.set is not a function
任何人请纠正我或告诉我正确的排序方式?
我试图保留单独的对象以用于排序或过滤目的。
这是我的代码:
import Ember from 'ember';
let dataFilter = Ember.Object.extend({
cardList:null,
sortByAmountSpent:Ember.computed.sort('name', 'cardList'),
sortByDateOfPurchase:Ember.computed.sort('age', 'cardList')
})
export default Ember.Controller.extend({
combineArray:Ember.computed(function(){
return [
{"name":"name1","age":"age1"},
{"name":"name2","age":"age2"},
{"name":"name0","age":"age3"}
];
}),
actions:{
sortByDateOfPurchase:function(){
dataFilter.set('cardList', this.get('combineArray') );
},
sortByAmountSpent:function(){
dataFilter.set('cardList', this.get('combineArray') );
}
}
});
在您的代码片段中,您通过扩展 Ember.Object
定义了一个名为 dataFilter
的 class
;但是您没有从中创建任何实例。 运行 代码 dataFilter.set('cardList', this.get('combineArray') );
自然会抛出错误指示 dataFilter.set is not a function
。 dataFilter
不是实例。如果您将 dataFilter
声明为
let dataFilter = Ember.Object.extend({
cardList:null,
sortByAmountSpent:Ember.computed.sort('name', 'cardList'),
sortByDateOfPurchase:Ember.computed.sort('age', 'cardList')
}).create();
那么这些行就不会抛出错误;因为 dataFilter
将是 class 定义的实例,而 set
自然定义在扩展 Ember.Object
.
的 class 实例中
我正在尝试通过扩展 Ember
对象来对我的数据进行排序。但是出现错误:TypeError: dataFilter.set is not a function
任何人请纠正我或告诉我正确的排序方式?
我试图保留单独的对象以用于排序或过滤目的。
这是我的代码:
import Ember from 'ember';
let dataFilter = Ember.Object.extend({
cardList:null,
sortByAmountSpent:Ember.computed.sort('name', 'cardList'),
sortByDateOfPurchase:Ember.computed.sort('age', 'cardList')
})
export default Ember.Controller.extend({
combineArray:Ember.computed(function(){
return [
{"name":"name1","age":"age1"},
{"name":"name2","age":"age2"},
{"name":"name0","age":"age3"}
];
}),
actions:{
sortByDateOfPurchase:function(){
dataFilter.set('cardList', this.get('combineArray') );
},
sortByAmountSpent:function(){
dataFilter.set('cardList', this.get('combineArray') );
}
}
});
在您的代码片段中,您通过扩展 Ember.Object
定义了一个名为 dataFilter
的 class
;但是您没有从中创建任何实例。 运行 代码 dataFilter.set('cardList', this.get('combineArray') );
自然会抛出错误指示 dataFilter.set is not a function
。 dataFilter
不是实例。如果您将 dataFilter
声明为
let dataFilter = Ember.Object.extend({
cardList:null,
sortByAmountSpent:Ember.computed.sort('name', 'cardList'),
sortByDateOfPurchase:Ember.computed.sort('age', 'cardList')
}).create();
那么这些行就不会抛出错误;因为 dataFilter
将是 class 定义的实例,而 set
自然定义在扩展 Ember.Object
.