我的路线中有这种结构。
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
}
}
});
了解有关此方案的想法。
谢谢。
答案 0 :(得分:1)
您设置控制器的方式被认为是常态,所以是的,这是一种很好的做法。 :)
然而,在单个控制器中组合动作不会像这样工作。行动有一个特定的冒泡路径。他们首先尝试路由控制器,然后尝试路由,然后他们冒泡路由层次结构。他们不冒泡控制器层次结构。因此,如果您想将这些操作放在一起,则必须在StationsRoute
中定义操作,而不是StationsController
。