【发布时间】:2016-04-27 16:39:26
【问题描述】:
每次我点击某个控制器/路线时,我都会尝试重新绘制图表。当导航到“建模器”页面时,还有其他页面的输入发生了更改,并且需要重新绘制图表。建模器页面上的后续输入更改会导致重绘,但每次导航到它时,图表最初都会错误地缩放。因此,当您到达“建模器”页面时,我需要根据所有新输入进行重绘。
export default Ember.Controller.extend({
calculator: Ember.inject.service(),
needs: ['modeller'],
init: function() {
this.drawCharts();
},
})
所以 init() 只在应用程序启动时被调用一次,但我需要在“modeller”路由被命中时调用它。
我已经尝试将它添加到控制器但无济于事:
doSomething: function() {
console.log("currentPath");
return;
}.observes('currentPath'),
我已经尝试从路由器触发它:
var Router = Ember.Router.extend({
location: config.locationType,
doSomething: function() {
console.log("didTransition in router");
this.get('controllers.modeller').init();
return;
}.on('didTransition'),
});
...几乎可以工作-“路由器中的didTransition”已记录,但我无法引用控制器。它说“this.get(...) is undefined”??
任何帮助表示赞赏。谢谢。
【问题讨论】:
标签: javascript ember.js ember-cli