[英]emberjs: how to trigger a custom event in a View
我想将原始事件(单击)转变为语义事件,例如“ deleteTodo”。 此处对此进行了介绍,但没有介绍如何实现:(
我有以下代码:
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 click函数,但没有调用IndexRoute中的deleteTodo函数。 有什么建议可能会出什么问题吗?
干杯
您可以使用this.get(“ controller”)。send(“ deleteTodo”)。 这将向控制器发送一条消息,如果控制器不处理deleteTodo,它将冒泡到路由器并在那里进行处理。
click: function(e) {
this.get('controller').send("deleteTodo");
}
在路由器中,您还需要定义事件:
events: {
doStuff: function(e) {
alert("Do stuff") ;
}
}
我通常会在控制器中进行记录删除。 似乎将其放在路由器事件中并不理想。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.