我有一个表格,我希望用户在点击一行时导航到特定项目,但该行可能包含触发操作但不触发导航的其他元素(如复选框)(想想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
(如spec所示),link-to
点火并导航到另一条路线。有什么想法吗?
答案 0 :(得分:1)
当您将某个操作附加到元素时,该输入帮助器不会以这种方式支持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();
}
});