我正在尝试在新选项卡中打开一个链接,就像在 ctrl + clicked
时打开一个普通链接一样,除了它附加了 ui-sref 指令,它生成一个 href 属性 /stateName?param1=test¶m2=test
,因此使用 URL 打开选项卡:domain.com/stateName?param1=test¶m2=test
。
现在的问题是我的应用加载在
URL - domain.com/SomePath#/
生成的链接(ui-sref)是
URL - domain.com/StateName?param1=test¶m2=test
当 ctrl + clicked
时,有什么方法可以为 ui-sref
提供基本 url。我还想在不按下 ctrl 的情况下单击时保持其正常行为?
最佳答案
如果您创建自己的函数来处理此行为,这应该会起作用。这是一个工作 Fiddle in edit mode/Fiddle preview mode .该解决方案确实提供了逻辑。请自行创建您需要的 URL。请注意,fiddle 正在阻止 popups
。
查看
<a ng-click="specialClick($event, 'stateName', { param: 'value'})">Click me</a>
AngularJS Controller
$scope.specialClick = function (e, state, params) {
if (e.ctrlKey) {
window.open($state.href(state, params, '_blank'));
} else {
$state.go(state, params, {notify: false});
}
}
关于javascript - AngularJS $state 使用 ctrl + 单击在新选项卡中打开链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42108908/