您好我正在开展我的第一个AngularJS项目。这是我目前的路线,
$stateProvider
.state('report', {
url: '/report/:Id',
templateUrl: 'templates/report.html'
})
此处的问题是/report/:reportId
仅处理第一级,而我的网址看起来像是/report/:val1/:val2/:val3/:val4/...
,依此类推。但它仅匹配/report/:val1
之类的网址,而不是之后的任何内容。
如何让我的网址与任何关卡匹配?请帮忙。
答案 0 :(得分:2)
我自己得到了答案,当我在params之前使用它时,它获得的值与任何级别匹配,但作为单个参数。就像你有" / report / 3/0"之类的东西,控制器的$stateParams
有3/0
。所以我们可以从那里进一步处理。
$stateProvider
.state('report', {
url: '/report/*Id',
templateUrl: 'templates/report.html'
});
angular.module('app.controllers', [])
.controller('reportCtrl', function($scope, $http, $stateParams) {
console.log($stateParams);
});
以上代码将打印" 3/0"在控制台中。