控制器的最佳实践emberJS

时间:2014-04-02 09:13:42

标签: javascript jquery ember.js

我的路线中有这种结构。

this.resource('stations',  function() {
   this.route('view', {path: ':name'});
   this.route('edit', {path: ':name/edit'});
   this.route('create', {path: ':name/create'});
});

我有这些控制器

App.StationsEditController = Ember.ObjectController.extend({
   actions: {
      editStation: function() {
        //Logic for edit Station
      }
   }
});

App.StationsCreateController = Ember.ObjectController.extend({
   actions: {
      createStation: function() {
        //Logic for create Station
      }
   }
});

请告诉我这是不错的做法?

另外,我想使用一个名为station的控制器,其中包含我的操作列表,该控制器中的所有视图都可以调用?例如: -

App.StationsController = Ember.ObjectController.extend({
   actions: {
      createStation: function() {
        //Logic for create Station
      }
      editStation: function() {
        //Logic for create Station
      }
   }
});

了解有关此方案的想法。

谢谢。

1 个答案:

答案 0 :(得分:1)

您设置控制器的方式被认为是常态,所以是的,这是一种很好的做法。 :)

然而,在单个控制器中组合动作不会像这样工作。行动有一个特定的冒泡路径。他们首先尝试路由控制器,然后尝试路由,然后他们冒泡路由层次结构。他们冒泡控制器层次结构。因此,如果您想将这些操作放在一起,则必须在StationsRoute中定义操作,而不是StationsController