У меня есть этот контроллер
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
Параметры поиска из $location.search()
нормированы, поэтому это будет urlParams.searchTag
.
Вы должны определить, какие параметры вы ожидаете в конфигурации состояния:
.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
});
$state.go('page1');
с $state.go('page1');
потому что, если я пойду, нажав кнопку назад, это работает хорошо но из-за $state.go('page1');
это не работает, как ожидалось
$scope.go('tags-navigation-p2', { sourceTag: 'smth' })
var urlParams = $location.search;
вместо назначения ссылки на методsearch