Я хотел бы, чтобы превратить примитивное событие (щелчок) в семантическое событие, как «deleteTodo» Это описано here, но не как реализовать :(
у меня есть следующий код:emberjs: как вызвать пользовательское событие в представлении
App.TodoView = Em.View.extend({
click: function(e) {
this.trigger("deleteTodo");
}
});
App.Router.map(function(match) {
match('/').to('index');
});
App.IndexRoute = Ember.Route.extend({
deleteTodo: function(e) {
// this code is never executed :(
}
}) ;
После того как я выполнить «щелчок», я вижу, что функция TodoView нажмите называется, но не функция deleteTodo от IndexRoute Любые предложения, что может пойти не так, здесь
.?CHeers
Я не могу заставить его работать, поэтому я создал jsfiddle здесь: http://jsfiddle.net/jeanluca/9Xasr/6/ Любые предложения? –
Его не this.get ('controller'). Send ('deleteTodo'), но для отправки события на маршрутизатор мы должны использовать целевое свойство в контроллере. например this.get ('controller.target'). отправить ('deleteTodo'). Я обновил скрипку здесь: http://jsfiddle.net/9Xasr/9/ – guleria
Когда вы отправляете событие на контроллер, он пузырится на маршрутизаторе. Я предпочитаю отправлять контроллеру, если он хочет обработать событие, и если я его игнорирую, он пузырится на маршрутизаторе. –