Ich habe ein Sliding-Menü mit einigen Listenelementen. Ich möchte die Sichtbarkeit einiger Elemente gemäß dem angemeldeten Benutzertyp ändern.Onsend Menü vom Controller neu laden, um die Menüoptionen zu verbergen
Ich habe 3 Controller: LoginController, AppController und ich habe gerade einen MenuController gemacht.
Das ist mein Menü:
<ons-template id="menu.html">
<ons-page ng-controller="menuController" ng-init="initMenu()">
<ons-list>
<ons-list-item modifier="tappable" onclick="menu.setMainPage('navigator.html', {closeMenu: true})">
<ons-icon icon="ion-home" style="padding-bottom:2px;"></ons-icon> Home
</ons-list-item>
<ons-list-item modifier="tappable" ng-hide="{{isTypeA}}" onclick="menu.setMainPage('Page1.html', {closeMenu: true})">
<ons-icon icon="ion-clipboard" style="padding-bottom:2px;"></ons-icon> Page 1
</ons-list-item>
<ons-list-item modifier="tappable" ng-hide="{{isTypeA}}" onclick="menu.setMainPage('Page2.html', {closeMenu: true})">
<ons-icon icon="ion-loop" style="padding-bottom:2px;"></ons-icon> Page 2
</ons-list-item>
<ons-list-item modifier="tappable" ng-hide="{{isTypeA}}" onclick="menu.setMainPage('Page3.html', {closeMenu: true})">
<ons-icon icon="ion-compose" style="padding-bottom:2px;"></ons-icon> Page 3
</ons-list-item>
<ons-list-item modifier="tappable" onclick="menu.setMainPage('Page4.html', {closeMenu: true})">
<ons-icon icon="ion-gear-a" style="padding-bottom:2px;"></ons-icon> Settings
</ons-list-item>
</ons-list>
</ons-page>
</ons-template>
Wenn in einem Benutzer Unterzeichnung die Menüs Controller lädt zuerst, so wird die init-Funktion bereits getan. Wenn der Benutzer dann seine Anmeldeinformationen eingibt und LOGIN drückt, verwende ich einen Dienst, um den Lizenztyp in eine Variable zu setzen, aber wenn die App geladen wird, ist es bereits zu spät.
Wie behebt man dieses Problem, also gleich nach dem Login, wird das Menü wieder initialisiert und das ng-hide wird alle notwendigen Elemente korrekt verstecken/anzeigen?