Я использую ионный с firebase, и я пытаюсь перенаправить при входе на домашнюю страницу. Переадресация $ state.go работает, однако у меня есть скрытая вкладка под названием «Профиль», которую я не показываю до тех пор, пока пользователь не будет аутентифицирован. Эта вкладка остается скрытой в перенаправлении $ state.go и не отображается, пока я снова не перейду на вкладку «Главная». Как вы загружаете загрузку ui при переадресации?
HTML:
вкладки HTML:
<ion-tabs class="tabs-icon-top tabs-color-active-positive" ng-controller="LoginCtrl">
<!-- Login Tab -->
<ion-tab title="Login" icon-off="ion-locked" icon-on="ion-locked" href="#/tab/login">
<ion-nav-view name="tab-login"></ion-nav-view>
</ion-tab>
<!-- Dashboard Tab -->
<ion-tab title="New Post" icon-off="ion-compose" icon-on="ion-compose" href="#/tab/new">
<ion-nav-view name="tab-new"></ion-nav-view>
</ion-tab>
<!-- Chats Tab -->
<ion-tab title="Home" icon-off="ion-ios-home" icon-on="ion-ios-home" href="#/tab/home">
<ion-nav-view name="tab-home"></ion-nav-view>
</ion-tab>
<!-- Account Tab -->
<ion-tab class="{{hiddenProfileTab()}}" title="Profile" icon-off="ion-person" icon-on="ion-person" href="#/tab/profile">
<ion-nav-view name="tab-profile"></ion-nav-view>
</ion-tab>
</ion-tabs>
Войти Контроллер
.controller('LoginCtrl', ['$scope', '$rootScope', '$state', '$location', function($scope, $rootScope, $state, $location) {
$scope.hiddenProfileTab = function(){
// return "ng-hide";
if ($rootScope.currentUser){
return "ng-show";
} else {
return "ng-hide";
}
}
//DO SOME THINGS
// $location.path('tab.home')
// $state.go('tab.home')
// $state.go('tab.home'), {}, { reload: true }
$state.go('tab.home',{},{location:'replace'});
};
}])
Чтобы подтвердить эту проблему, на вкладке Профиль остается скрытым от $ состоянии. перейдите на страницу «домой», пока нажимается вкладка «Домашняя страница».
Любые идеи по загрузке пользовательского интерфейса при перенаправлении?
Я не могу заставить ng-show работать нормально .. это ионный признак? – user4889724
не похоже на это. Не могли бы вы увидеть, что переменная 'currentUser' обновляется корректно или нет, добавив ее в пользовательский интерфейс, используя' {{currentUser}} ' –
. Я думаю, что моя проблема в том, что контроллеры работают в неподходящее время , {{currentUser}} работает корректно, но только после того, как я инициирую перезагрузку вкладки, щелкнув по самой вкладке. Кажется, что-то о tab.html, который не загружается с остальной частью страницы? Я очень новичок в Ionic/Angular/Firebase, так что это кривая обучения. – user4889724