余烬:防止链接被触发时,其中的一个动作被点击

Ember: prevent link-to from firing when an action within it is clicked

本文关键字:一个 链接 余烬      更新时间:2023-09-26

我有一个表,我希望用户导航到特定的项目,当他们点击一行,但行可能包含其他元素(如复选框),触发操作,但不触发导航(想想gmail)。

我的结构是这样的:

{{#each player in controller}}
  {{#link-to "player" player.uid tagName="tr"}}
    <td>
       {{input action="select" type="checkbox" checked=selected bubbles=false}}
    </td>
    <td>
      {{player.name}}
    </td>
    ...
  {{/link-to}}
{{/each}}

我的问题是鄙视bubbles=false(如规范中所示),link-to着火并导航到另一条路线。什么好主意吗?

当您将操作附加到元素时,输入助手不支持以这种方式action='foo'。它根本没有被击中。

http://emberjs.jsbin.com/lugatite/1/edit

你需要滚动你自己的复选框,或者只是观察你的控制器中的复选值

App.MyCheckBox = Ember.Checkbox.extend(Ember.TargetActionSupport, {
    target: Ember.computed.alias('controller'),
    action: 'save',
    actionContext: Ember.computed.alias('context'),
    click: function(el) {
      this.triggerAction(); 
      el.stopPropagation();
    }
});
http://jsbin.com/lugatite/5/edit