Ich versuche, mein Layout dynamisch entsprechend der Sprachauswahl der Benutzer zu ändern und fliege von LTR zu RTL.Angular2-Material sideNav - rtl/ltr-Richtung dynamisch ändern
Ich verwende Angular 2 rc6, Material 2.0.0-alpha.9-3
Es sieht aus wie wenn die Seite geladen wird, funktioniert es perfekt mit entweder rtl oder ltr. Wenn es sich jedoch dynamisch innerhalb der App ändert (siehe Plunker), ändert sich die Richtung, aber das generierte Element md-sidenav-content hat einen falsch berechneten Rand rechts und links.
Graben weiter, konnte ich sehen, dass das _DIR Objekt eine eventEmitter hat, die auf Änderungsereignisse von _DIR beobachten sollte und neu berechnen die Margen
@ Winkel/Material/sidenav/sidenav.js:
_dir.dirChange.subscribe(function() { return _this._validateDrawers(); });
Aber es wird nie aufgerufen, wenn die Richtung dynamisch geändert wird. Obwohl _dir den richtigen Wert enthält, wenn die Seite das erste Mal geladen wird, egal ob ltr oder rtl.
Schließlich ist hier ein Plunker das Verhalten zu zeigen:
http://plnkr.co/edit/o8lXWC?p=preview
Ich vermute, ich bin nicht richtig mit _DIR aber nicht gelungen, herauszufinden, was der richtige Weg ist, es zu tun.
Das sieht vielversprechend aus! Ich werde eine Weile damit spielen müssen, da meine App nicht so vereinfacht wie der Plünderer ist. Danke für die Führung, ich werde über die Ergebnisse aktualisieren. – Olga
Das hat den Trick gemacht! Vielen Dank, dass Sie mich in die richtige Richtung gebracht haben. – Olga
Gern geschehen! Froh, dass ich Helfen kann :) – yurzui