我正在尝试在新标签页中打开一个链接,就像ctrl + clicked
时会打开普通链接一样,除了它附加了ui-sref指令,它生成一个带/stateName?param1=test¶m2=test
的href属性,由于使用URL打开了标签:domain.com/stateName?param1=test¶m2=test
。
现在问题是我的应用已加载
网址 - domain.com/SomePath#/
并且生成的链接(ui-sref)是
网址 - domain.com/StateName?param1=test¶m2=test
在ui-sref
时,有没有办法向ctrl + clicked
提供基本网址。我还想在没有按下ctrl的情况下单击时保持其正常行为吗?
答案 0 :(得分:2)
如果您创建一个自己的函数来处理此行为,这应该有效。这是一个有效的Fiddle in edit mode / Fiddle preview mode。该解决方案确实提供了逻辑。请自行创建您需要的网址。请注意,小提琴阻止了popups
。
<a ng-click="specialClick($event, 'stateName', { param: 'value'})">Click me</a>
$scope.specialClick = function (e, state, params) {
if (e.ctrlKey) {
window.open($state.href(state, params, '_blank'));
} else {
$state.go(state, params, {notify: false});
}
}