获取angularjs中所有URL参数的最佳方法

时间:2015-03-09 18:36:57

标签: angularjs angularjs-routing

我将此网址添加到我的系统中:

http://localhost/myapp/#/campaign/confirm/edit/:id

在我的控制器中获取campaignconfirmedit的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

看起来你已经将这个url格式化为一个角度状态(太棒了!)。 在这种情况下,您可以在控制器中访问$ stateParams。

https://github.com/angular-ui/ui-router/wiki/URL-Routing#stateparams-service

假设你的州是这样的,那应该有你需要的信息。这个例子使所有4个部分成为可访问的变量,如果你确实需要该路径的所有部分。可能值得在其中放入一些非可变数据,否则将这种状态与以类似方式形成的其他状态分开可能会有点困难:

$stateProvider.state('myStateName', {
  url: '{campaign}/{confirm}/{edit}/{id}'
});

myModule.controller('fooCtrl', function($scope, $stateParams){
  console.log(
    $stateParams.campaign,
    $stateParams.confirm,
    $stateParams.edit,
    $stateParams.id);
});