Параметры URL не определены

0

У меня есть этот контроллер

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'
  })

здесь типичная навигация

page1 → tags-navigation-p2? source-tag = "xyz" → p3

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

  • 0
    Вы должны сделать var urlParams = $location.search; вместо назначения ссылки на метод search
Теги:
ionic-framework

2 ответа

0

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

0

Вы должны определить, какие параметры вы ожидаете в конфигурации состояния:

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

Затем $stateParams этот параметр, используя $stateParams

angular.module("mobApp.controllers")
    .controller("MainTagNavigatorController_P2", function ($scope, $stateParams) {   
        // $stateParams.sourceTag
    });
  • 0
    Я думаю, что проблема $state.go('page1'); с $state.go('page1'); потому что, если я пойду, нажав кнопку назад, это работает хорошо но из-за $state.go('page1'); это не работает, как ожидалось
  • 0
    Вы должны передать параметр: $scope.go('tags-navigation-p2', { sourceTag: 'smth' })
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню