Javascript ember.js可点击div中的可点击链接

Javascript ember.js可点击div中的可点击链接,javascript,ember.js,Javascript,Ember.js,我已经找到了一些关于jQuery的答案,但与Ember.Js无关。我对灰烬还很陌生,所以我可能错过了一些明显的东西,如果是这样的话,那就是我的错 我已经使用控制器中的操作创建了一个可单击的div,如下所示: goHere: function(article) { this.transitionTo('view-article',{article_id: article.article_id}); } 但现在我在那个部门的锚坏了。你知道怎么解决这个问题吗 编辑:我不能展示所有的代码,因为

我已经找到了一些关于jQuery的答案,但与Ember.Js无关。我对灰烬还很陌生,所以我可能错过了一些明显的东西,如果是这样的话,那就是我的错

我已经使用控制器中的操作创建了一个可单击的div,如下所示:

goHere: function(article) {
    this.transitionTo('view-article',{article_id: article.article_id});
}
但现在我在那个部门的锚坏了。你知道怎么解决这个问题吗

编辑:我不能展示所有的代码,因为这是一个巨大的项目,但基本上我们有主题,每个主题都有一系列的文章。主页上列出的文章如下所示:

<div class="article pull-left span10"{{action goHere this}} >
    ...
    <a href="url.com">XX</a>
    ...
</div>

...
...
单击该锚定标记时,会触发goHere操作,而不是重定向到url.com

goHere: function(article) {
    this.transitionToRoute('view-article',article);
}
如果这不起作用,jsbin/jsfiddle将有助于提供更多上下文


请参阅:

不推荐在控制器中使用Transitiono,但它应该与折旧警告一起使用。 使用TransitionRoute(如@RyanHirsch answer)是正确的方法

您可以更好地使用linkTo帮助器

   {{#linkTo 'view-article' model_to_be_passed}}Go to View Article {{/linkTo}}

在我的例子中,我使用的是用户输入的链接,这些链接被服务器上的rails_autolink转换为锚定标记,因此我无法用ember链接替换这些链接

我可以通过几个步骤来解决这个问题。首先,我将类
autolink
添加到使用autolink生成的所有链接中。然后,在周围div的余烬行动中,我做了:

if event.target.className == 'autolink'
    @send('handleAutolink')
else
    // (handle non-link click)
然后在ApplicationRoute上,我为handleAutolink操作添加了一个处理程序,该处理程序基本上取消了ember操作,并使用javascript打开链接:

handleAutolink: ->
  event.preventDefault()
  window.open(event.target.href, '_blank')

我意识到这可能是一个巨大的黑客,但我很高兴听到另一种方法

你能展示更多的代码吗?比如控制器、模板、路线等。我编辑了这个问题。你有没有想过?