如果我想从Angular中的URL中获取特定值,我会查看如何解析此数据。
示例:
http://localhost:1337/doc-home/#/tips/5?paginatePage=1
我想得到" 5"
HTML:
<a href="#/tips/comments/{{ tip.id }}?groupid={{ ????? }}" class="btn-yellow">Add / View Comments</a>
module.js
.when('/tips/comments/:group?id', {
templateUrl: 'partials/comments.html'
controller.js
.controller('TipCommentsCtrl',
function ($http, $scope, $routeParams, Categories, Tip, $location, error, $sce) {
更新
感谢大家的回答,我得到了更快的结果。
我发布了另一个问题,应该有助于解释我的问题是什么
答案 0 :(得分:2)
$routeParams
服务使您能够访问路由参数并返回一个对象。
要获取示例/tips/comments/group?id..
中的参数组,请使用$routeParams.group
答案 1 :(得分:2)
根据您的要求,您可以选择以下任何一种:
如果你正在使用ngRoute,你可以将$ routeParams注入你的controller.ngRoute是一个角度核心模块,适用于基本场景。 网址:https://docs.angularjs.org/api/ngRoute http://docs.angularjs.org/api/ngRoute/service/ $ routeParams
如果您正在使用RouteProvider和routeParams:该路由将URL连接到您的Controller / View,并且routeParams可以传递到控制器。查看Angular seed项目。在app.js中,您将找到路由提供程序的示例。要使用params,只需将它们添加为:
$routeProvider.when('/view1/:param1/:param2', {
templateUrl: 'partials/partial1.html',
controller: 'MyCtrl1'
});
然后在你的控制器中注入$ routeParams:
.controller('MyCtrl1', ['$scope','$routeParams', function($scope,
$routeParams) {
var param1 = $routeParams.param1;
var param1 = $routeParams.param2;
...
}]);
还可以在查询字符串形式/ view / 1/2中获取其他任意参数?other = 12 with $ routeParams.other。
Ui-router是一个克服了ngRoute问题的贡献模块。主要是嵌套/复杂视图。如果你使用的是angular-ui-router,你可以注入$ stateParams。网址:https://github.com/angular-ui/ui-router,https://github.com/angular-ui/ui-router/wiki/URL-Routing。
虽然您的答案专门针对如何获取参数,但我已添加了有关选择内容和使用方法的更多相关信息。我希望它有所帮助。谢谢。
答案 2 :(得分:1)
您将在$routeParams
$ routeParams.group