Ember.js在路由器中获取视图触发事件

时间:2012-08-08 13:02:38

标签: ember.js

我有一个视图触发一个在路由器状态内处理的事件。

<button {{action signUp this}} type="button" class="btn btn-primary">Sign-Up</button>

这是一个处理程序:

signUp: (router, event) ->
    //how do I get an instance of the "View" class triggered an event?

我可以使用event.context来获取View类的所有绑定属性,但实际上我想获得一个已触发事件的View类的完整实例。任何提示如何实现这一目标?

1 个答案:

答案 0 :(得分:4)

如果您想在视图中进行验证等,我建议您在视图上调用该操作

// template
{{action signUp target="parentView"}}

并通过

将事件发送到路由器
// view
signUp: function() {
    // validation etc
    App.router.send('signUp',context);
}

如果需要,您可以操纵上下文以包含对当前视图(this)的引用。

希望有所帮助!