Url参数未定义

时间:2016-01-30 18:30:55

标签: angularjs ionic-framework

我有这个控制器

angular.module("mobApp.controllers")
.controller("MainTagNavigatorController_P2",function($scope, $location) {   
    var urlParams = $location.search(); 
    $scope.tag = urlParams['source-tag'];

    $scope.$on('$ionicView.enter', function() { 

    });

这是导航

  .state('tags-navigation-p2', {
    url: "/tags-navigation-p2",
    templateUrl: 'templates/MainTagNavigators/tags-navigation-p2.html',
    controller: 'MainTagNavigatorController_P2'
  })

这是典型的导航

第1页 - >标签导航-P2源标签=" XYZ" - > P3

问题是当我使用page1page3$state.go('page1');时 并再次尝试从tags-navigation-p2转到page1,显示urlParams['source-tag']; undefined

2 个答案:

答案 0 :(得分:0)

您应该在状态配置中定义您期望的参数:

.state('tags-navigation-p2', {
    url: "/tags-navigation-p2?sourceTag",
    templateUrl: 'templates/MainTagNavigators/tags-navigation-p2.html',
    controller: 'MainTagNavigatorController_P2'
})

然后使用$stateParams

获取此参数
angular.module("mobApp.controllers")
    .controller("MainTagNavigatorController_P2", function ($scope, $stateParams) {   
        // $stateParams.sourceTag
    });

答案 1 :(得分:0)

来自$location.search()的搜索参数被归一化,因此它将是urlParams.searchTag