Angular uiRouter 在新窗口或带有 stateParams 的选项卡中打开状态

2022-01-21 00:00:00 angularjs javascript angular-ui-router

我想要做的是在新标签或新窗口中跟随:

What I want to do is following in but in a new Tab or new Window:

$state.go('studentsReport', {
       type: $scope.report.type, // string
       selectedStudents: $scope.selectedStudents // array of strings
});

如果我这样做了:

var link = $state.href('studentsReport', {
       type: $scope.report.type,
       selectedStudents: $scope.selectedStudents
});

window.open(link, '_blank');`

我会丢失参数.

最好的问候,马塞尔

推荐答案

你应该尝试使用这个:

/* @ngInject */
function SomeCtrl ($state, $window) {
  $window.open($state.href('stateName', {}, {absolute: true}), '_blank');
}

注意:如果使用 ng-annotate,/* ngInject */ 有助于自动依赖注入注释(在 cli、gulp 和 grunt 风味)

Note: the /* ngInject */ facilitates automatic dependency injection annotation if using ng-annotate (available in cli, gulp, and grunt flavours)

相关文章