Angularjs $ state.go在新标签页中打开链接

时间:2018-03-13 08:12:52

标签: angularjs angular-ui-router

我的代码看起来像这样,并且有锚点标记的数据ng-click。

$state.go('routeHere', {parameter : "parameter"} });

我试过了

var url = $state.go('myroute', {parameter: "parameter"});
window.open(url,'_blank');

目标=" _blank"

但那些没有用。

使用AngularJS还有其他方法吗?

4 个答案:

答案 0 :(得分:0)

我不知道你尝试了什么,但这里 a working example

myApp.controller('HelloCtrl', function($scope, $state, $window) {
  $scope.newTab = function() {
   var url = $state.href('about');
   $window.open(url,'_blank');
  }
});

答案 1 :(得分:0)

$ state.go正在运作,但您也可以使用 $ window.location.href = newUrl;

答案 2 :(得分:0)

我认为解决方案的唯一问题是您在$state上使用了错误的方法。使用$state.href代替$state.go。这样,$state将为您编译URL,并将其放入变量url中,以用于对$window.open的调用。

正确的代码应为:

var url = $state.href('myroute', {parameter: "parameter"});
$window.open(url,'_blank');

此外,使用$window而不是window

答案 3 :(得分:0)

为我工作:

href="{{$state.href(ng_state, {id : ng_id})}}" target="_blank"