gpt4 book ai didi

javascript - 如何在angularjs上有多个$routeParams

转载 作者:数据小太阳 更新时间:2023-10-29 04:26:54 27 4
gpt4 key购买 nike

我想知道我如何拥有多个路由参数,如果你们中的任何人可能知道它的教程或答案,我将非常感激。

这是我正在做的 http://jaysg.com/newApp/#/

我希望它是#/:region/:country/:city

所以这是 Controller

angular.module('NoteWrangler').controller('NotesShowController', function ($scope, $routeParams, $http){
$scope.title = $routeParams.title;

$http.get('js/data/notes.json').success(function(data) {

$scope.note = data.filter(function(entry){
return entry.title === $scope.title;
})[0];

});
});

路由.js

angular.module('NoteWrangler')
.config(function($routeProvider){

$routeProvider.when('/notes', {
templateUrl: 'templates/pages/notes/index.html',
controller: 'NotesIndexController',
controllerAs: 'indexController'
})

.when('/users', {
templateUrl: 'templates/pages/users/index.html',
})

.when('/', {
templateUrl: 'templates/pages/notes/index.html',
controller: 'NotesIndexController',
controllerAs: 'indexController'
})
.when('/:countryName', {
templateUrl: 'templates/pages/notes/country-detail.html',
controller: 'CountryDetailCtrl'
})
.when('/notes/:title', {
templateUrl: 'templates/pages/notes/show.html',
controller: 'NotesShowController',
controllerAs: 'showController'

})



.otherwise( { redirectTo: '/' } )

;



});

最佳答案

$routeProvider.when('/:region/:country/:city', ...

在 Controller 中:

$routeParams.region
$routeParams.country
$routeParams.city

注意,每 3 个参数 road 对于这个措辞都是正确的,意思是:

如果您有 2 条道路:

$routeProvider.when('/:region/:country/:city', ...
$routeProvider.when('/:user/:name/:birthdate', ...

/one/two/three => /:region/:country/:city
/12/john/1987 => /:region/:country/:city

如果你反转它:

$routeProvider.when('/:user/:name/:birthdate', ...
$routeProvider.when('/:region/:country/:city', ...

/one/two/three => /:user/:name/:birthdate
/12/john/1987 => /:user/:name/:birthdate

所以我觉得最好放一个固定的起始路线:

$routeProvider.when('/geo/:region/:country/:city', ...

/geo/IDF/France/Paris => /geo/:region/:country/:city

[编辑] 为了执行您在评论中解释的内容:

我会做的是:

$routeProvider.when(':region/:country?/:city?', ...

注意 ?,这意味着该参数是可选的。

它将解决:

NA
NA/Mexico
NA/Mexico/Cancun

并且在你的 Controller 中检查你的 $routeParams 参数是否为 null 以了解你是否有一个两个或三个参数。

关于javascript - 如何在angularjs上有多个$routeParams,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29044472/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com