1

我通过构建一个简单的番茄钟应用程序来了解 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 吗?

4

1 回答 1

2

您可以在 PomodorosPomodoroRoute 中实现 setupController 功能

每次转换到该路由时都会调用它,并可用于设置控制器和视图所需的任何内容。

App.PomodorosPomodoroRoute = Ember.Route.extend({

  setupController: function(controller, model) {
    this._super.apply(this, arguments);
    //implement your code here
  }


});
于 2013-06-05T09:05:44.903 回答