Logische Schichtung Wenn wir vue3 zur Entwicklung von Projekten verwenden, Trennen Sie Geschäfte aus verschiedenen RegionenStandard exportieren { aufstellen () { let {queryDo,addDo,delDO,EditDo}=allFun(); queryDo(); //Die Abfrageschnittstelle wird aufgerufen} } // Dies ist die Logik des Bereichs A der Seitenfunktion allFun(){ console.log('Ich bin die direkte Anweisung in der allFun-Funktion und werde ausgeführt.') Funktion queryDo(){ console.log('Ich frage die Schnittstelle ab und rufe die Backend-Daten auf') } Funktion addDo(){ console.log('Ich bin neu') } Funktion delDO(){ console.log('Ich habe gelöscht') } Funktion EditDo(){ console.log('Ich bin die Editor-Schnittstelle') } zurückgeben {queryDo,addDo,delDO,EditDo} } </Skript> Vorteile dieser Vorgehensweise
Wie geht man mit einem solchen Szenario um? Wenn wir Geschäftslogik schreiben, <Skript> Standard exportieren { aufstellen () { // Die hier verwendete Struktur ist Bereich A let {queryDo,addDo,delDO,EditDo}=aAreaAllFun(); // Bereich B let {querHander}=bAreaAllFun(); return {queryDo,addDo,delDO,EditDo,querHander} } } // Dies ist die Logik eines bestimmten Bereichs auf der Bereichsseite A Funktion aAreaAllFun(){ Funktion queryDo(){ console.log('Ich bin die Abfrageschnittstelle von Bereich A') } Funktion addDo(){ console.log('Ich bin neu') } Funktion delDO(){ console.log('Ich habe gelöscht') } Funktion EditDo(){ console.log('Ich bin die Editor-Schnittstelle') } zurückgeben {queryDo,addDo,delDO,EditDo} } // Dies ist die Geschäftslogik von Bereich B Funktion bAreaAllFun(){ // Rufen Sie die Abfrageschnittstelle von Bereich A direkt auf aAreaAllFun().queryDo(); Funktion querHander(){ console.log("Abfrageschnittstelle von Bereich B") } return {querHander} } </Skript> Obwohl die Verwendung Optimierung<Skript> Standard exportieren { aufstellen () { // Dies ist die Logik eines bestimmten Bereichs auf der Bereichsseite A let {addDo,delDO,EditDo}=aAreaAllFun() // Dies ist die Logik eines bestimmten Bereichs auf der Seite „Bereich B“ let {querHander}=bAreaAllFun(); return {queryDo,addDo,delDO,EditDo,querHander} } } // Öffentliche Abfrageschnittstelle. Viele Bereiche können die Funktion queryDo(){ verwenden. console.log('Ich bin die Abfrageschnittstelle der Region, ich wurde herausgezogen') } // Dies ist die Logik eines bestimmten Bereichs auf der Bereichsseite A Funktion aAreaAllFun(){ Funktion addDo(){ console.log('Ich bin neu') } Funktion delDO(){ console.log('Ich habe gelöscht') } Funktion EditDo(){ console.log('Ich bin die Editor-Schnittstelle') } zurückgeben {addDo,delDO,EditDo} } // Dies ist die Geschäftslogik von Bereich B Funktion bAreaAllFun(){ // Rufen Sie die öffentliche Abfrageschnittstelle direkt auf queryDo(); Funktion querHander(){ console.log("Abfrageschnittstelle von Bereich B") } return {querHander} } </Skript> reactive muss nicht unbedingt in der Setup-Funktion geschrieben werdenViele Freunde denken, dass reaktiv in die Setup-Funktion geschrieben werden muss. Tatsächlich ist das nicht der Fall. Es kann dort geschrieben werden, wo Sie es brauchen. Beispielsweise können Sie reaktiv in der folgenden Funktion aAreaAllFun verwenden. <Vorlage> <div> <h2>Name: {{ areaData.info.name}}</h2> <h2>Alter: {{ areaData.info.age}}</h2> <h2>Geschlecht: {{ areaData.info.sex}}</h2> </div> </Vorlage> <Skript> importiere { reaktiv } von '@vue/reactivity'; Standard exportieren { aufstellen () { let {addDo,areaData}=aAreaAllFun(); gibt {addDo,areaData} zurück } } // Dies ist die Logik eines bestimmten Bereichs auf der Bereichsseite A Funktion aAreaAllFun(){ let areaData = reaktiv({ Info: Name: 'Zhang San', Alter:20, Geschlecht: männlich } }) Funktion addDo(){ console.log('Ich bin neu') } gibt {addDo,areaData} zurück } </Skript> So zeigen Sie den Wert direkt auf der Seite an Im obigen Beispiel wollen wir Name, Alter und Geschlecht implementieren, wir brauchen areaData.info.xxx <Vorlage> <div> <h2>Name: {{ name}}</h2> <h2>Alter: {{ age}}</h2> <h2>Geschlecht: {{ sex}}</h2> </div> <button @click="ChangeCont">Wert ändern</button> </Vorlage> <Skript> importiere { reaktiv, toRefs } von „vue“; Standard exportieren { aufstellen () { let {name,alter,geschlecht,ChangeCont }=aAreaAllFun(); returniere {Name, Alter, Geschlecht, ChangeCont} } } // Dies ist die Logik eines bestimmten Bereichs auf der Bereichsseite A Funktion aAreaAllFun(){ let areaData = reaktiv({ Info: Name: 'Zhang San', Alter:20, Geschlecht: männlich } }) Funktion ChangeCont(){ // Wenn Sie den Wert auf diese Weise ändern, reagiert die Ansicht nicht. [Fehler] //areaData.info={ // Name: 'Li Si', //Alter:21, // Geschlecht: 'männlich' // } // Dies ist OK, um die Ansicht korrekt zu aktualisieren [ok] areaData.info.name='123' areaData.info.age=12 areaData.info.sex='männlich' } // toRefs können ein responsives Objekt in ein normales Objekt umwandeln. // Jeder Wert dieses gemeinsamen Objekts ist ein Verweis. // Da es ein Verweis wird, müssen wir den Wert verwenden. zurück {ChangeCont,...toRefs(areaData.info)} } </Skript> Dies ist das Ende dieses Artikels über die Logikextraktion und Feldanzeige von vue3 im Projekt. Weitere relevante Inhalte zur Logikextraktion und Feldanzeige von vue3 finden Sie in früheren Artikeln auf 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:
|
<<: Mysql 8.0.18 Hash-Join-Test (empfohlen)
>>: Tutorial zur Verwendung von Portainer zum Herstellen einer Verbindung mit einem Remote-Docker
CSS-Stilspezifikationen 1. Klassenauswahl 2. Tag-...
Inhaltsverzeichnis 1. Im Hintergrund laufende Job...
Code kopieren Der Code lautet wie folgt: <span...
Inhaltsverzeichnis Vorwort Persistenz globaler Pa...
Installationsumgebung 1. gcc-Installation Um ngin...
Das Hyperlink-Tag <a> stellt einen Linkpunkt...
Verwenden provide+inject in Vue Zuerst müssen Sie...
HTML + CSS + JS imitieren den Helligkeitsanpassun...
Docker-Ansichtsprozess, Speicher, Cup-Verbrauch S...
Inhaltsverzeichnis Was ist ref So verwenden Sie r...
Das Konzept der gespeicherten MySQL-Prozedur: Ein...
Voraussetzung: Das Webentwickler-Plugin wurde inst...
Vorwort Zabbix ist eine der gängigsten Open-Sourc...
In HTML werden gängige URLs auf verschiedene Arten...
In diesem Artikelbeispiel wird der spezifische Co...