繁体   English   中英

使用ctrl + click在新选项卡中打开AngularJS $状态链接

[英]AngularJS $state open link in new tab using ctrl + click

我正在尝试在新标签中打开一个链接,就像正常链接在ctrl + clicked时打开一样,除了它附加了ui-sref指令,它生成带有/stateName?param1=test&param2=test的href属性/stateName?param1=test&param2=test ,由于使用URL打开选项卡: domain.com/stateName?param1=test&param2=test

现在问题是我的应用程序已加载

网址 - domain.com/SomePath#/

并且生成的链接(ui-sref)是

URL - domain.com/StateName?param1=test&param2=test

ctrl + clicked时,有没有办法为ui-sref提供基本URL。 我还想在没有按下ctrl的情况下单击时保持其正常行为?

如果您创建自己的函数来处理此行为,这应该工作。 这是一个工作小提琴编辑模式 / 小提琴预览模式 该解决方案确实提供了逻辑。 请自行创建您需要的网址。 请注意,小提琴阻止popups

视图

<a ng-click="specialClick($event, 'stateName', { param: 'value'})">Click me</a>

AngularJS控制器

$scope.specialClick = function (e, state, params) {
   if (e.ctrlKey) {
      window.open($state.href(state, params, '_blank'));
   } else {
      $state.go(state, params, {notify: false});
   }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM