NG-Show wenn das array enthält einen bestimmten Wert und nicht einen anderen
Ich habe eine 3-user-Rechte - Admin, User und Editor. Die Art und Weise dieses setup ist:
Wenn Sie ein Admin
die Rückkehr ist roles: ["Admin", "User", "Editor"]
Wenn Sie ein User
die Rückkehr ist roles: ["User"]
Wenn Sie ein Editor
die Rückkehr ist roles: ["User", "Editor"]
Nun, was ich jetzt haben, ist ng-show="object.roles.length < 2" = User
usw. für die anderen beiden.
Ich bin sicher, es gibt eine bessere/schlauere Weg, dies zu tun oder vielleicht ist es einfacher, es zu tun auf diese Weise. Ich bin mir nur nicht sicher, wie man es anders. Vielen Dank für die Anregungen.
Also, was wollen Sie erreichen genau? Wann wollen Sie das element angezeigt werden?
Beim laden Ihrer Objekte, berechnen und hinzufügen
Ich bin versucht zu verbergen/anzeigen enthalten, die speziell für die Rollen. Ein kurzes Beispiel:
Beim laden Ihrer Objekte, berechnen und hinzufügen
isAdmin
, isUser
, isEditor
Eigenschaften. Oder wenn die Rollen können zur Laufzeit geändert werden, schalten Sie in $scope
Funktionen.Ich bin versucht zu verbergen/anzeigen enthalten, die speziell für die Rollen. Ein kurzes Beispiel:
User
= <div ng-show="user">Hi User</div>
Admin
= <div ng-show="admin">Hi Admin</div>
InformationsquelleAutor RooksStrife | 2015-10-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dass ist keine gute Idee. Sie verwalten die Benutzeroberfläche Ihrer app durch die Zählung eines Arrays der Länge. Was, wenn diese Veränderungen? Ich würde vorschlagen, um zu überprüfen, immer wenn die Rolle, die nötig ist, ist der Besitz. Zum Beispiel
ng-show="hasRole('User')"
InformationsquelleAutor Ignacio Villaverde
Oder, sauberer, Delegat, der einen scope-Funktion:
und
InformationsquelleAutor JB Nizet
Dieser arbeitete für mich:
Wird es nicht zeigen
if == 0
, sonst wird es.InformationsquelleAutor Abbas Hafiz Chauhdry