Теперь это действительно вопрос, который развивается из this. Там гораздо больше информации, но я думаю, лучше спросить конкретный конкретный вопрос. Так вот он идет:Catch All Action Handler
Мы обычно определяют действия в контроллере так:
var FooController = Ember.Controller.extend({
actions: {
login: function() {
}
}
});
Есть ли способ определить поймать всех обработчик действия, как и (гипотетически):
actions: {
login: function() {
},
*: function(actionName, paramArray) {
}
}
Это было бы аналогично углям catch all route, которые, я считаю, были реализованы, хотя я не пробовал.
Мне это нужно, потому что мой Ember.Component
предоставляет пользователю partial template с помощью помощника {{partial}}
. Это частичное может содержать {{action}}
. Эти действия не превращаются в вызывающий контроллер или маршрут и теряются внутри компонента. Этот факт упоминается в docs в пункте 4.
Если поймать все действие было возможно, мой компонент может реализовать его и отправить действие обратно вызывающему используя что-то вроде этого:
actions: {
*: function(actionName, paramArray) {
this.sendAction(actionName, paramArray)
}
}