Im ionischen Rahmen versuche ich die Menüschaltfläche bedingt zu verstecken. Aus anderen Gründen musste ich das Menü in einen eigenen Controller aufteilen (ich möchte das Menü und die Kopfzeile bei einer Aktualisierung nicht komplett neu rendern), so dass die Kopfzeile nicht in ion-view angezeigt wird. Ich habe einen Watcher für die Bedingungsvariable (ein Stateparam) im Controller des Headers erstellt. Das Konsolenprotokoll gibt die bedingte Variable korrekt aus, aber die Ansicht wird nicht aktualisiert (die Menüschaltfläche wird immer angezeigt).Bedingt ausblenden Menü Schaltfläche im ionischen Framework außerhalb <ion-view>
Dies ist die Vorlage:
<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>
Und in der Steuerung:
$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");
});
}
});
Gibt es einen einfacheren Weg? Oder verpasse ich hier etwas?
Danke, aber leider kann ich nicht die Ionen Ansicht verwenden, da, dass der Header verursacht erneut gerendert auf state.go bekommen :( – mhanisch
Sie können tatsächlich, Ion-View- und Ionen nav-Bar sind uns bewusst voneinander Setzen Sie das Attribut "Zurückblenden" auf eine beliebige Ansicht, die Sie ausblenden möchten, und die Ionenansicht informiert die Ionen-Nav-Leiste, um die Schaltfläche auszublenden. Vielleicht ist Ihr Beispiel nicht klar genug. –
Schaltfläche zurück ist anders als die Seitenmenü-Taste, die Verbergen-Taste funktioniert nicht auf der Seitenmenü-Taste – raykin