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.[]')
});