我通过构建一个简单的番茄钟应用程序来了解emberjs。我的问题是在transitionToRoute发生后在新的活动控制器中运行代码。
这是我创建新的番茄钟记录的地方:
App.PomodorosNewController = Ember.ObjectController.extend({
createPomodoro: function() {
this.get('model.transaction').commit();
this.transitionToRoute('pomodoros.pomodoro', this.get('model'));
},
});
如您所见,我创建了记录,然后转换到新创建的记录视图。哪个使用这个控制器:
App.PomodorosPomodoroController = Ember.ObjectController.extend({});
我的问题是如何在转换发生后在此控制器中运行代码?这有一种方法可以检测接收控制器中的transitionToRoute吗?
答案 0 :(得分:2)
您可以在PomodorosPomodoroRoute
中实现setupController功能每次转换到该路线时都会调用此参数,并可用于设置控制器以及视图所需的任何内容。
App.PomodorosPomodoroRoute = Ember.Route.extend({
setupController: function(controller, model) {
this._super.apply(this, arguments);
//implement your code here
}
});