I ben haben mitWie ein sideNav in Angular-Material Design Pin offen
<md-sidenav md-component-id="leftNav" md-is-open="vm.isOpen"
md-is-locked-open="vm.isPinned" ... >
<i class="fa fa-bars float-right" ng-click="vm.toggleNav()"></i>
...
</md-sidenav>
mit dem toggleNave Verfahren in der Steuerung den Wert
class MyController {
constructor($mdSideNav) {
this.mdSideNav = mdSideNav;
this.isPinned = false;
this.isOpen = false;
}
toggleNav = (navId) => {
this.$mdSideNav(navId).toggle().then(() => {
this.isPinned = this.isOpen;
}
}
}
Einstellung Aber dies bewirkt, dass der Bildschirm auf blinken Öffnen und Schließen, und es scheint nicht der beste Weg zu sein, eine SideNav zu öffnen.
Der Wunsch ist es, die Nave-Taste offen/geschlossen zu haben, aber klebrig offen zu bleiben, bis ich sie schließe.
Wenn ich md-is-locked = "$ media ('')" verwende, dann wird die SideNav gesperrt und schließt nie, bis das Fenster unter Mediengröße schrumpft. Das ist nicht was ich will.
Wenn ich md-is-locked überhaupt nicht benutze, dann klappt der SideNav zu, wenn man wegklickt, aber ich möchte, dass er offen bleibt! bis ich es schließen will.
Wer weiß, wie man das macht?
Dank
BTW: Ich bin mit ES6, damit die Klasse Pfeil und Funktionen. :-)
Hinweis docs, wie das Umschalten auf der Seite nav geöffnet, aber nur vorübergehend. Klicken/tippen Sie irgendwo anders im mittleren Bereich und das Seitennav wird automatisch geschlossen. Wenn du es umschalten willst, um offen zu bleiben, dann brauchst du etwas mehr als nur den Schalter. –
Rechts. [Check this out] (http://codepen.io/markwcollins/pen/KwrgOE) Ich habe gerade einen booleschen $ scope.keepOpen definiert und ihn auf 'md-is-locked-open' gemappt. Ich denke, wenn man das ändert, sollte man das gewünschte Ergebnis bekommen. Hoffe es hilft –
Leider ist die Verwendung eines Boolean keine sehr gute Lösung. Zum Beispiel können Sie das Sitenav nicht mehr schließen, indem Sie es außerhalb klicken. Ich habe das gleiche Problem wie @KendrickBurson. Das Merkwürdige ist, dass die Demo-Site für Material Design ohne Boolean funktioniert. Ich habe versucht, diesen Code ohne Erfolg zu imitieren. –