我有一个带有把手模板的视图,如下所示:
<a {{action 'totallyBogus'}}>bogus</a>
{{#each event in group.items}}
<div class="event">
<div class="details">
<span class="name">
<a {{action 'setActionSelectorEvent' event}}>{{event.prettyName}}</a>
</span>
</div>
</div>
{{/each}}
控制器有一个动作哈希:
actions: {
totallyBogus: function() {
alert('got the totally bogus action');
},
setActionSelectorEvent: function(event) {
alert('got the action');
//do stuff
}
}
模板呈现完美。问题是&#39; setActionSelectorEvent&#39;第一次单击锚点时,动作不会被调用。此后的每一次,动作都会好起来。但是第一次,有些事情阻止了行动的发生,我也没有看到警报。
然而,&#39;完全是博格斯&#39;当您第一次单击它时,它会触发。此外,如果您点击“完全虚假”&#39;动作,然后然后点击&#39; setActionSelectorEvent&#39;,它运行正常。可能导致这种情况的原因是什么?我怀疑是他们的情节,但对Ember Internals并不了解,知道究竟发生了什么。我正在运行Ember 1.7.1和Ember-Data 1.0.0-beta.12
答案 0 :(得分:0)
我正在尝试使用ember 1.9.1版,它的工作正常:
http://emberjs.jsbin.com/xequce/1/edit?html,js,output
我会做的另一件事就是href='#'
,即使链接不在任何地方,例如:
<a href='#' {{action 'setActionSelectorEvent' event}}>{{event.prettyName}}</a>
如果您不想显示下划线 - 您可以随时使用CSS禁用它。