从另一个控制器调用一个控制器而不重新加载

时间:2016-06-28 20:15:42

标签: ember.js

我需要从另一个控制器调用一个控制器。

export default Ember.Controller.extend({
  needs   : ['another'],
  ....
  callAnother: function() {
    this.get('controllers.another').reloadIt();
  }
})

另一位管制员:

export default Ember.Controller.extend({
  init: function() {
     calling API
  },
  reloadIt: function() {
    calling API
  }
})

当我致电this.get('controllers.another').reloadIt()时。它会调用initreloadIt

是否可以在没有init的情况下调用它,因为它已经加载了。

感谢。

1 个答案:

答案 0 :(得分:0)

请尝试使用宏来实现此目的要容易得多。

export default Ember.Controller.extend({
  needs   : ['another'],

 callAnother: Ember.computed.alias('controllers.another.reloadIt'),

 actions:{

    callController: function(){
       this.get('callAnother');
     },

  }
})