0

我有一个 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}} 结构,代码就可以正常工作。

任何帮助将不胜感激!

4

2 回答 2

2

使用{{#linkTo}} ... {{/linkTo}}隐式创建一个视图。许多车把块都是这样做的。所以里面提到的任何东西...实际上view都是指LinkToView。

要解决此问题,请使用重命名您的视图{{#with ... as ...}},使其不会被遮蔽。

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

有关更多详细信息,请参阅此问题

于 2013-08-17T17:39:37.310 回答
0

我猜你在其他地方有问题,这里有一个简单的例子,它是如何正常工作的:http: //jsbin.com/IhojaYE/2/edit

希望能帮助到你。

于 2013-08-16T21:24:54.347 回答