Ember.js 何时考虑在路线或控制器上设置动作?

Ember.js 何时考虑在路线或控制器上设置动作?,ember.js,ember-cli,Ember.js,Ember Cli,显然,您可以在路由或控制器中定义操作 actions: { foo: function() { // Do something here } } 在考虑在哪里采取行动时,是否有经验法则?还是说这是一个偏好问题?我认为最好将它们放在控制器中。如果你在页面上有一个动作,它会冒出气泡,因此控制器是它检查的第一个位置,我认为,它是拥有它们的首选位置,除非取决于你在路线上需要它的功能。@Craicerjack你很快就会有反面的捍卫者向你走来,这是一个敏感的问题:)但是

显然,您可以在
路由
控制器
中定义
操作

  actions: {
    foo: function() {
      // Do something here
    }
  }

在考虑在哪里采取行动时,是否有经验法则?还是说这是一个偏好问题?

我认为最好将它们放在控制器中。如果你在页面上有一个动作,它会冒出气泡,因此控制器是它检查的第一个位置,我认为,它是拥有它们的首选位置,除非取决于你在路线上需要它的功能。@Craicerjack你很快就会有反面的捍卫者向你走来,这是一个敏感的问题:)但是我倾向于这样做。事实上,这取决于您的应用程序体系结构。@MrVinz它通常归结为首选项,不是吗?无论如何,这一切都将随着余烬2.0的到来和控制器的移除而改变……我同意上述观点。我唯一一次把它放在路由中的是,如果它是所有子路由中的一个共享操作,那么控制器是否将在2.0中被删除。在路由中定义操作是否合理?