W ramach jonowych staram się ukryć przycisk menu warunkowo. Z innych powodów musiałem podzielić menu w swoim własnym kontrolerze (nie chcę ponownie renderować menu i paska nagłówków po odświeżeniu), więc nagłówek nie jest w widoku jonów. Stworzyłem watcher na zmiennej warunkowej (stateparam) w kontrolerze nagłówka. Dziennik konsoli poprawnie wyprowadza zmienną warunkową, ale widok nie jest aktualizowany (przycisk menu jest zawsze wyświetlany).Warunkowo ukryj przycisk menu w ramie jonowej poza <ion-view>
Jest to szablon:
<ion-side-menus>
<ion-side-menu-content>
<ion-nav-bar class="bar-stable nav-title-slide-ios7">
<ion-nav-back-button ng-if="!isHome" class="button-clear"><i class="icon ion-ios7-arrow-back"></i>Back</ion-nav-back-button>
<button ng-if="isHome" menu-toggle="left" class="button button-icon icon ion-navicon"></button>
<h1 class="title">Title</h1>
</ion-nav-bar>
<ion-nav-view name="menuContent" animation="slide-left-right"></ion-nav-view>
</ion-side-menu-content>
...
</ion-side-menus>
iw sterowniku:
$scope.$watch(function(){
return $stateParams.contentUrl;
},
function(newVal){
console.log(newVal);
if(!newVal || newVal === 'someParam'){
$timeout(function(){
$scope.$apply(function(){
$scope.isHome = true;
});
console.log("home");
});
} else {
$timeout(function(){
$scope.$apply(function(){
$scope.isHome = false;
});
console.log("not home");
});
}
});
Czy istnieje prostszy sposób? Czy może czegoś tutaj brakuje?
Dzięki, ale niestety nie mogę użyć jonowy-view, bo to powoduje, że nagłówek, aby rerendered na state.go :( – mhanisch
rzeczywiście może widok jonowej i jonowej nav-bar są świadomi siebie Umieść atrybut ukrytego przycisku na dowolnym widoku, który chcesz ukryć przycisk Wstecz, a widok jonów poinformuje pasek nawigacji jonów, aby ukryć przycisk.Być może twój przykład jest niewystarczająco jasny –
przycisk powrotu różni się od przycisku menu bocznego, przycisk ukrytego przycisku nie działa w bocznym menu przycisku – raykin