如何解析路由Angular 1中作为查询参数的编码URL?

时间:2018-06-06 15:34:34

标签: angularjs angular-ui-router

在我的路线中,我有这个。但是,我无法找到正确解码网址的方法。该页面只是重定向到基本URL(而不是重定向URL)。该网址已对其进行编码,因此/%2F,但我不知道如何制作,因此我可以将其作为查询参数接受。



.config(['$stateProvider', '$urlRouterProvider', function ($stateProvider, $urlRouterProvider) {
   $stateProvider
   .state('example', {
     url: '/{test}/{queryParameterUrl}',
     controller: 'exampleCtrl as example',
     template: require('./partials/test.html')
   });




1 个答案:

答案 0 :(得分:0)

在您的exampleController中,您可以访问状态参数,解析它并在以后使用它进行重定向:

app.controller('exampleCtrl', ['$state', function ($state) {
    var exampleCtrl = this;

    exampleCtrl.parsedRedirectUrl = $state.params.urlredirect.replace(/%2F/g, '/')
}]);

在HTML中,例如,使用链接重定向

<a href="{{example.parsedRedirectUrl}}">Redirect</a>

P.S。在州定义中,使用controllerAs

.config(['$stateProvider', '$urlRouterProvider', function ($stateProvider, $urlRouterProvider) {
    $stateProvider
        .state('example', {
         url: '/{test}/{urlredirect}',
         controller: 'exampleCtrl',
         controllerAs: 'example',
         template: require('./partials/test.html')
    });