Sorting 余烬,当控制器中的计算完成时,运行组件方法一次
当控制器中的计算完成时,我只想调用一次方法 这是我的Sorting 余烬,当控制器中的计算完成时,运行组件方法一次,sorting,ember.js,Sorting,Ember.js,当控制器中的计算完成时,我只想调用一次方法 这是我的控制器: import Ember from 'ember'; export default Ember.ArrayController.extend({ sortProperties: ['id:desc', 'id:asc', 'value:desc', 'value:asc'], sortedStats: Ember.computed.sort('model', 'sortProperties'), act
控制器
:
import Ember from 'ember';
export default Ember.ArrayController.extend({
sortProperties: ['id:desc', 'id:asc', 'value:desc', 'value:asc'],
sortedStats: Ember.computed.sort('model', 'sortProperties'),
actions: {
sortBy: function(sortProperties) {
this.set('sortProperties', [sortProperties]);
}
}
});
一个模板
:
<div><button {{action 'sortBy' 'type:asc'}}>Asc</button><button {{action 'sortBy' 'type:desc'}}>Desc</button></div>
<h1>Chart</h1>
{{chart-bar width=500 height=200 series=sortedStats}}
onChange
被调用的次数与模型具有要排序的属性的次数相同。在我的示例中,它被调用了6次,并且模型包含具有5个属性的数组。我想在计算时调用onChange
。控制器中的排序已完成
有什么建议吗?为什么要观察排序数组而不是模型?没有。没有原因。但是,更改为观察模型对我不起作用。注意:我当前的模型只包含装置。所以,它不会动态变化。我的理解是,在这种情况下观察模型不会在调用排序时触发更改,因为模型是相同的。这就是为什么我开始观察computed,以便在排序完成时触发操作。
import Ember from 'ember';
export default Ember.Component.extend({
tagName: 'svg'
draw: function() {
// here I draw the chart
},
init: function() {
this._super();
},
onChange: function(){
console.log('onChange');
}.observes('series.[]')
});