Javascript ember.js可点击div中的可点击链接
我已经找到了一些关于jQuery的答案,但与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}); } 但现在我在那个部门的锚坏了。你知道怎么解决这个问题吗 编辑:我不能展示所有的代码,因为
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')
我意识到这可能是一个巨大的黑客,但我很高兴听到另一种方法 你能展示更多的代码吗?比如控制器、模板、路线等。我编辑了这个问题。你有没有想过?