一尘不染

如何在角路由中传递查询字符串?

angularjs

我正在使用AngularJS路由,并试图查看如何使用查询字符串(例如
url.com?key=value)。Angular无法理解包含相同名称的键值对的路由albums

angular.module('myApp', ['myApp.directives', 'myApp.services']).config(
        ['$routeProvider', function($routeProvider) {
            $routeProvider.
            when('/albums', {templateUrl: 'albums.html', controller: albumsCtrl}).
            when('/albums?:album_id', {templateUrl: 'album_images.html', controller: albumsCtrl}).
            otherwise({redirectTo: '/home'});
        }],
        ['$locationProvider', function($locationProvider) {
            $locationProvider.html5Mode = true;
        }]
    );

阅读 181

收藏
2020-07-04

共1个答案

一尘不染

我认为路由不适用于查询字符串。url.com?key=value可以使用url.com/key/value?
如下方式而不是使用更RESTful的URL,然后按以下方式定义路由:

.when('/albums', ...)
.when('/albums/id/:album_id', ...)

或许

.when('/albums', ...)
.when('/albums/:album_id', ...)
2020-07-04