在 angularjs 中获取所有 URL 参数的最佳方法
Best way to get all URL parameters in angularjs
我将这个 URL 加入了我的系统:
http://localhost/myapp/#/campaign/confirm/edit/:id
获取 campaign
、confirm
和 edit
控制器的最佳方法是什么?
您似乎已将此 url 格式化为 angular 状态(太棒了!)。
在这种情况下,您可以在控制器中访问 $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);
});
我将这个 URL 加入了我的系统:
http://localhost/myapp/#/campaign/confirm/edit/:id
获取 campaign
、confirm
和 edit
控制器的最佳方法是什么?
您似乎已将此 url 格式化为 angular 状态(太棒了!)。 在这种情况下,您可以在控制器中访问 $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);
});