【发布时间】:2016-06-28 20:15:42
【问题描述】:
我需要从另一个控制器调用一个控制器。
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()。它调用init 和reloadIt。
是否可以在没有init 的情况下调用它,因为它已经加载了。
谢谢。
【问题讨论】:
-
试图理解您的问题。所以您尝试访问控制器中的 reloadIt{} 属性?
-
@JosephCC,在某些情况下,我需要从第一个控制器重新加载
Another控制器。例如,我单击按钮,第一个控制器调用callAnother。callAnother应该在另一个控制器中调用reloadIt。reloadIt调用 API 并重新加载内容。 -
@JosephCC,但是现在当我调用
reloadIt时,另一个控制器调用init和reloadIt。在reloadIt我设置了新属性 -setProperties但模板没有更新... -
因此在这种情况下您尝试访问单个属性 reloadIt 而不是 init。对吗?
-
是的,只是
reloadIt,因为我的控制器已经在页面上。我有一个包含两个部分的页面 - 两个控制器,两个模板。如果我单击一个部分上的按钮,我应该在第二个部分重新加载(使用其他数据调用 API)。
标签: ember.js