2016-01-30 3 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

проблема есть, когда я пришел к page1 от page3 usi нг $state.go('page1'); и попробуйте еще раз, чтобы перейти к tags-navigation-p2 из page1 он показывает urlParams['source-tag'];undefined

+0

Вы должны сделать 'var urlParams = $ location.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 if i go, нажимая назад кнопка работает хорошо. но из-за '$ state.go ('page1');' его не работает как ожидалось – manish

+0

Вы должны передать параметр: '$ scope.go ('tags-navigation-p2', {sourceTag: 'smth'})' – karaxuna

+0

@karaxuna выше state.go не будет передавать параметр, потому что он не сможет найти маршрут, поскольку 'sourceTag' не упоминается в URL-адресе. –

0

Параметры поиска от $location.search() нормализованы, поэтому было бы urlParams.searchTag.

Смежные вопросы