直接在Ember.View上设置动作

时间:2012-08-01 13:00:33

标签: ember.js

有没有办法在不使用动作助手的情况下定义视图时直接设置动作? 我的观点已经是一个链接,所以我不能使用它的模板。我需要使用click事件,但我的视图必须知道我的路由器。

示例:

App.Link = Em.View.extend({
    classNames: ['btn'],
    tagName: 'a',
    template: Em.Handlebars.compile("My Link"),
    click: function(event) {
        //I don't want to have to call this here
        App.router.doSomething();
    },
    //What Id like to do
    action: "doSomething"
})

这可以在任何地方使用吗?我找不到任何信息。

1 个答案:

答案 0 :(得分:1)

你实际上可以通过Bindings做到这一点,这是非常可以接受的(至少从我的观点来看)。在处理许多不同视图/对象之间的一系列内部连接时,最终会使用它。这实际上是使用Ember的主要原因之一(为您处理大量的自举)。

    clickBinding: 'doSomething' 

制作一个fiddler,以便显示一个简单的版本(请注意,它可以是相对路径或绝对路径)。如果您正在寻找更多详细信息,他们也会在docs中介绍此内容。