State.go到带有angularjs参数的新选项卡

时间:2018-03-22 14:02:35

标签: javascript angularjs angular-ui-router

我必须使用state.go with parameter,

打开新标签页

状态配置:

 .state("view", {
    url: "/view",
    templateUrl: 'app/components/view/view.html',
    controller: 'viewController',
    params: {
      data: ''
    }
  })

在某个控制器中:

var url = $state.href('view', {data: JSON.stringify($scope.data)});

    window.open(url,'_blank');

当我尝试上面的代码时,它重定向到新标签,但我无法在viewcontroller中获取传递的参数值。

1 个答案:

答案 0 :(得分:0)

在你的控制器中,你必须注入$ stateParams,如

.state("view", {
   url: "/view/:data",
   templateUrl: 'app/components/view/view.html',
   controller: 'viewController'
})

.controller('viewController', ['$stateParams', function($stateParams) {
    $scope.params = $stateParams.data; // here you get parameter values
})