Bedingt ausblenden Menü-Taste in ionic framework-außen - <ion-view - >
In dem ionic framework ich versuche zu verstecken die Menü-Taste bedingt. Aus anderen Gründen musste ich split Menü in Ihrem eigenen controller (ich will nicht komplett neu Rendern das Menü und Kopfzeile auf aktualisieren), so wird die Kopfzeile nicht in Ionen-Ansicht. Ich erstellte einen watcher auf die conditional-variable (eine stateparam) in der Steuerung der Kopfzeile. Das console-log-Ausgänge die conditional-variable korrekt, aber die Ansicht wird nicht aktualisiert (die Menü-Taste wird immer angezeigt).
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 bin ich hier etwas fehlt?
InformationsquelleAutor mhanisch | 2014-11-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie die
hide-back-button
- Attribut auf die<ion-view>
element zu deklarieren, wenn diese Ansicht ausblenden soll die zurück-Taste standardmäßig.http://ionicframework.com/docs/nightly/api/directive/ionView/
Sie tatsächlich können, ion-und ion-nav-bar sind sich bewusst von einander. Setzen Sie die verstecken-zurück-button-Attribut auf alle anzeigen, die Sie ausblenden möchten Sie die zurück-Taste, und die Ionen-anzeigen informieren Sie über die ion-nav-bar ausblenden der Schaltfläche. Vielleicht ist Ihr Beispiel ist nicht klar genug.
zurück-Taste ist anders, von der Seite menu-Taste, ausblenden-zurück-button funktioniert nicht auf der Seite menu-Taste
Die Frage war zu verstecken die Seite Menü-Taste(menuToggle) und nicht den zurück-button oder bin ich immer falsch?
Ich finde das gleiche Problem. haben Sie irgendwelche Hilfe ?
InformationsquelleAutor Jeremy Wilken
Ein bisschen dirty workaround wäre, die buttons eine id und verwenden Sie dann jqlite, Sie zu verstecken, wie dies in der controller:
InformationsquelleAutor mhanisch
Einstellung
hide-back-button
false hat bei mir nicht funktioniert. Allerdings, in meinem Fall die einfachere Lösung warinnen
<ion-view>
. Dies ist so, dass es nur eine leere linke Seite nav-Schaltflächen. Dies hat den trick für mich.InformationsquelleAutor Chandru
Es getan werden kann in einer einfachen Weise:
und auf die spezifischen Seiten, wo Sie wollen, um das Menü ausblenden und die nav-bar, lassen Sie sagen, Ihre Login-Seite(in Ihrem login-Controller), nur Typ - vergessen Sie nicht, bestimmte Objekte innerhalb der controller-Funktion.
InformationsquelleAutor Abhishek Agarwalla