我将此网址添加到我的系统中:
http://localhost/myapp/#/campaign/confirm/edit/:id
在我的控制器中获取campaign
,confirm
和edit
的最佳方法是什么?
答案 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);
});