Ember.js 单击灰烬打开一个新窗口
当用户单击链接时,如何打开新窗口 我曾尝试添加Ember.js 单击灰烬打开一个新窗口,ember.js,Ember.js,当用户单击链接时,如何打开新窗口 我曾尝试添加target=“\u blank”和bindAttr,但不起作用 不起作用的代码: <a target="_blank" {{action goToSettings href=true}}>App Settings</a> 或 这是第一个示例的html输出: <a target="_blank" href="#/settings" data-ember-action="5">App Settings<
target=“\u blank”
和bindAttr,但不起作用
不起作用的代码:
<a target="_blank" {{action goToSettings href=true}}>App Settings</a>
或
这是第一个示例的html输出:
<a target="_blank" href="#/settings" data-ember-action="5">App Settings</a>
您有两种选择:
window.open(…)
打开特定URL的新窗口
{{link to}
中直接支持
Pull request位于能否显示不起作用的代码?能否显示第一个示例的输出html?实际上,您正在应用程序中调用一个函数。
goToSettings
有什么作用?这种设置方式永远不会打开新窗口,除非您在该函数中显式编写代码。如果要将其作为链接,请将a URL(a route?)设置为href
propertyYeah此函数正好位于我的路由器中:goToSettings:Ember.route.transition('root.settings'),第一种方法的问题是,我只想在特定情况下打开一个新窗口。对于所有其他操作,我希望它位于同一窗口中。我不确定我是否理解第二种选择。你的建议是什么?在第一种方法中,您仍然可以使用一些条件逻辑来决定是打开新窗口还是转换到另一个状态。对于第二个选项,您的想法是,yourBoundPropForTheUrl
将是一个解析为您想要打开的URL的属性。如果您还没有在LinkView中支持此功能的Ember版本,您可能还在考虑如何生成一个对Ember路由逻辑有效的URL。正如@LukeMelia在其对的回答中所提供的,您可以访问路由器,根据与TransitionRoute
类似的参数生成URL。下面是控制器操作中的一个示例:this.get('target').router.generate('item',item.topic_id,item.id)代码>
<a target="_blank" href="#/settings" data-ember-action="5">App Settings</a>