Einführung in die Vue-Schaltflächenberechtigungssteuerung

Einführung in die Vue-Schaltflächenberechtigungssteuerung

Vorwort:

In täglichen Projekten müssen Sie möglicherweise die Betriebsberechtigungen des aktuellen Benutzers basierend auf den von der Hintergrundschnittstelle zurückgegebenen Daten ermitteln. Die Schaltfläche „Löschen“ muss angezeigt werden, wenn eine Löschberechtigung vorliegt. Ohne diese Berechtigung wird der Button nicht angezeigt bzw. gelöscht. Durch die Suche nach Informationen wird diese Funktion durch vuex realisiert.

1. Schritte

1. Definieren Sie die Berechtigungen für die Schaltflächen

Erstellen Sie buttomPermission im state , um die von der Hintergrundschnittstelle zurückgegebenen Berechtigungsdaten zu speichern.

setPermission wird verwendet, um Daten zu akzeptieren und die Seitenberechtigungsverwaltung an das buttomPermission -Objekt zu übergeben.

Verwenden von vuex:

Vue.Verwenden(Vuex)

Erstellen Sie eine Vue-Instanz const store = new Vuex.Store({
    Zustand: {
        buttomPermission: {}
    },
    Mutationen:
        setPermission(Status, Berechtigung) {
            state.buttomPermission = Berechtigung
        }
    }
})
Standardspeicher exportieren


2. Definieren Sie den Store

Store aus „./store/index.js“ importieren

neuer Vue({
    speichern,
    el: '#app',
    rendern: h => h(App)
})


3. Berechtigungsanweisungen erstellen

Erstellen Sie einen neuen directives und eine Datei permission.js .

Die inserted Funktion wird hier verwendet, um zu überprüfen, ob das Element über die Berechtigung verfügt, wenn das gebundene Element in den übergeordneten Knoten eingefügt wird.

eingefügt( el, Bindungen, vnode ) { }


4. Verwenden Sie die Berechtigungsdirektive

Führen Sie die permission auf der Schaltflächenseite ein und definieren Sie sie, schreiben Sie die Direktive in buttom und binden Sie den entsprechenden Wert in die Direktive ein.

 <button v-permission="'add'">Hinzufügen</button>
Importberechtigung aus „./directives/permission“
Anweisungen: {permission,},


5. Nicht autorisierte Daten löschen

Rufen Sie in der permission value Wert der Schaltflächenbindung über bindings ab, suchen Sie ihn dann im Objekt buttomPermission und stellen Sie fest, ob eine Berechtigung vorliegt. Wenn keine Berechtigung vorliegt, löschen Sie den Knoten.

eingefügt(el, Bindungen, vnode) {
        Lassen Sie btnPermissionValue = Bindungen.Wert;
        let boolean =vnode.context.$store.state.buttomPermission[btnPermissionValue];
        !boolean und el.parentNode.removeChild(el);
    }


6. Übergabe von Zustandsverwaltungsdaten

Übergeben Sie die Statusverwaltungsdaten über die Methode setPermission an die Berechtigungsverwaltung

let Berechtigungen = {}
this.$store.commit("setPermission", Berechtigungen);


II. Überblick

Im Allgemeinen wird ein buttomPermission Berechtigungsstatusobjekt über vuex definiert und dann eine permissions erstellt. Die permissions wird für jede buttom Schaltfläche verwendet und der Wert der spezifischen Bedeutung der Schaltfläche wird gebunden. Rufen Sie dann in der Datei permission.js den aktuellen Wert ab und ermitteln Sie, ob die aktuelle Schaltfläche über die Berechtigung buttomPermission verfügt. Wenn nicht, löschen Sie den aktuellen Schaltflächenknoten direkt.

Dies ist das Ende dieses Artikels über die Berechtigungssteuerung von Vue-Buttons. Weitere relevante Inhalte zur Berechtigungssteuerung von Vue-Buttons finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Implementierung des dynamischen Routings in Vue und der Berechtigungssteuerung auf Schaltflächenebene in Springsecurity
  • Detaillierte Erläuterung der VUE-Frontend-Schaltflächenberechtigungssteuerung
  • Detaillierte Erläuterung der Idee zur Implementierung einer Berechtigungssteuerung auf Schaltflächenebene basierend auf benutzerdefinierten Vue-Anweisungen

<<:  Detaillierte Erklärung von Softlinks und Hardlinks in Linux

>>:  Flammenanimation mit CSS3 umgesetzt

Artikel empfehlen

Implementierungscode für mehrzeilige Textkomponenten der Vue-Faltanzeige

Faltdisplay mit mehrzeiligem Textbaustein Falten ...

Zusammenfassung der Methoden zur Verbesserung der MySQL-Anzahl

Ich glaube, dass viele Programmierer mit MySQL ve...

Implementierung der Docker-Container-Verbindung und -Kommunikation

Die Portzuordnung ist nicht die einzige Möglichke...

Installieren und Bereitstellen von Java8 und MySQL unter CentOS7

Im Allgemeinen werden Java-Lernprogramme und Bere...

Grundlegender JSON-Betriebsleitfaden in MySQL 5.7

Vorwort Aufgrund der Projektanforderungen werden ...

Tutorial zur Installation von PHP auf CentOS über Yum

Lassen Sie mich zunächst vorstellen, wie Sie PHP ...

Einführung in die allgemeine API-Verwendung von Vue3

Inhaltsverzeichnis Veränderungen im Lebenszyklus ...

Fallstudie zu den SQL ROW_NUMBER()- und OVER()-Methoden

Syntaxformat: row_number() über (Partition durch ...