在routeprovider或其他解决方案中处理查询字符串。

11 浏览
0 Comments

在routeprovider或其他解决方案中处理查询字符串。

如何在AngularJS的路由提供器(routeprovider)配置中处理类似(index.php?comment=hello)这样的查询字符串。\n示例:\n

angular.module('app', ['ngRoute'])
.config(function($routeProvider, $locationProvider) {
    $locationProvider.html5Mode({
        enabled: true,
        requireBase: false
    }).hashPrefix('!');
    $routeProvider
    .when('/index.php?comment=hello',{
        redirectTo:'/index.php'
    }); 

0
0 Comments

问题原因:用户想要在路由提供程序(routeProvider)中处理查询字符串,但是上述提供的解决方法并不适用于该要求。

解决方法:根据提供的链接,我们可以在控制器中处理查询字符串,而不是在配置中处理。

以下是解决方法的代码示例:

$stateProvider.state('/viewPage/:param1/:param2', {
   templateUrl: 'partials/partial1.html',
   controller: 'MyCtrl'
});

控制器中获取查询字符串的值:

.controller('MyCtrl', ['$scope','$routeParams', function($scope,$stateParams, $state) {
var param1 = $state.param1;
var param1 = $state.param2;
}]);

然而,这并不适用于配置中的路由提供程序。要处理查询字符串,需要在控制器中进行处理。

0