动作帮助器在车把内不起作用{{#if}}

时间:2013-08-16 17:15:37

标签: javascript html button ember.js handlebars.js

我有一个machine_list_item.html模板,其中包含以下代码:

{{#if view.machine.isGhost}}
<div class="remove-machine-key-association">
    <button {{action "aloha" target="view"}}></button>
</div>
{{/if}}

我在machine_list_item.js视图中有这个功能:

aloha: function() {
    alert('Tadah!');   
}

该按钮不会调用该函数,并会出现此错误:

  

错误:断言失败:Mist.MachineListItemView上不存在“aloha”操作

但是,如果我注释掉了车把的{{#if}}结构,那么代码就可以了。

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:2)

使用{{#linkTo}} ... {{/linkTo}}隐式创建视图。许多车把挡都做到了这一点。因此引用...的{​​{1}}内的任何内容实际上都指的是LinkToView。

要解决此问题,请使用view重命名您的视图,以免它被遮挡。

{{#with ... as ...}}

有关详细信息,请参阅this question

答案 1 :(得分:0)

我猜你还有其他问题,这里有一个简单的例子:http://jsbin.com/IhojaYE/2/edit

希望它有所帮助。