Nel framework ionico sto cercando di nascondere il pulsante del menu in modo condizionale. Per altri motivi ho dovuto dividere il menu nel suo controller (non voglio re-rendering completamente il menu e la barra di intestazione su un aggiornamento), quindi l'intestazione non è in vista ion. Ho creato un osservatore sulla variabile condizionale (unparecamp) nel controller dell'intestazione. Il log della console restituisce correttamente la variabile condizionale, ma la vista non viene aggiornata (il pulsante del menu viene sempre visualizzato).Nascondi in modo condizionale il pulsante di menu in quadro ionico esterno <ion-view>
Questo è il modello:
<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>
E nel controller:
$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");
});
}
});
C'è un modo più semplice? O mi sto perdendo qualcosa qui?
Grazie, ma purtroppo non posso usare l'ione-view, perché questo fa sì che l'intestazione di ottenere rerendered su state.go :( – mhanisch
Si può effettivamente, ionico-view e ioni-nav-bar sono a conoscenza gli uni degli altri Metti l'attributo hide-back-button in qualsiasi vista in cui vuoi nascondere il pulsante Indietro, e la vista ionica informerà la barra ion-nav per nascondere il pulsante Forse il tuo esempio non è abbastanza chiaro –
back button è diverso dal pulsante del menu laterale, il pulsante nascondi non funziona sul pulsante del menu laterale – raykin