我想将原始事件(单击)转换为语义事件,例如“deleteTodo”
这是描述的here http://emberjs.com/guides/views/,但不知道如何实施:(
我有以下代码:
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 单击函数,但没有调用 IndexRoute 中的 deleteTodo 函数。有什么建议这里可能会出什么问题吗?
CHeers
您可以使用 this.get("controller").send("deleteTodo")。这将向控制器发送一条消息,如果控制器不处理deleteTodo,它将冒泡到路由器并在那里进行处理。
click: function(e) {
this.get('controller').send("deleteTodo");
}
在您的路由器中,您还需要定义事件:
events: {
doStuff: function(e) {
alert("Do stuff") ;
}
}
http://jsfiddle.net/9Xasr/7/ http://jsfiddle.net/9Xasr/7/
我通常会在控制器中删除记录。似乎将其放入路由器事件中并不理想。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)