2016-01-30 24 views
0

我有這個控制器的URL參數是不確定的

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

問題是,當我從page3 USI到page1來納克$state.go('page1'); 並再次嘗試去tags-navigation-p2page1它顯示urlParams['source-tag'];undefined

+0

你應該做'var urlParams = $ location.search;'而不是分配'search'方法參考 –

回答

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 
    }); 
這個參數
+0

我想問題是'$ state.go('page1');'cos如果我去按回來按鈕它運作良好。但是由於'$ state.go('page1');'它不按預期工作 – manish

+0

您應該傳遞參數:'$ scope.go('tags-navigation-p2',{sourceTag:'smth'})' – karaxuna

+0

@karaxuna上面的state.go不會傳遞參數,因爲它將無法定位路由爲'sourceTag'沒有在URL中提及。 –

0

$location.search()的搜索參數已標準化,因此它將是urlParams.searchTag