Heim > Web-Frontend > View.js > Hauptteil

Welche Punkte sind beim Vue3-Setup zu beachten und welche Überwachungsattribute gibt es?

王林
Freigeben: 2023-05-14 15:31:06
nach vorne
1061 Leute haben es durchsucht

Zuerst Setup-Anweisungen

1.1 Die Ausführungszeit des Setups

1. Die Ausführungszeit des Setups ist früher als zuvor. Ausführung erstellen

Welche Punkte sind beim Vue3-Setup zu beachten und welche Überwachungsattribute gibt es?

  export default {
    name: "Demo",
    beforeCreate(){
      console.log('beforeCreate已执行');
    },
    setup() {
      console.log('setup已执行');
      let person = reactive({
        name: "小明",
        age: 20,
      });
      return {
        person,
      };
    },
  };
Nach dem Login kopieren

1.2.steup-Parameter

Parameter des Setups
1.props: Der Wert ist ein Objekt, enthält: Attribute, die von außerhalb der Komponente übergeben und innerhalb der Komponente empfangen werden.

2.context: Kontextobjekt
①attrs: Wert ist ein Objekt, einschließlich: Attribute, die von außerhalb der Komponente übergeben, aber nicht deklariert werden in der Requisitenkonfiguration, äquivalent zu < code>this.$attrsthis.$attrs

  export default {
    name: "Demo",
    props:[&#39;msg&#39;,&#39;age&#39;],
    setup(props) {
      console.log(props);
      let person = reactive({
        name: "小明",
        age: 20,
      });   
      return {
        person,
      };
    },
  };
Nach dem Login kopieren

Welche Punkte sind beim Vue3-Setup zu beachten und welche Überwachungsattribute gibt es?

②slots: 收到的插槽内容,相当于 this.$slots

在App中定义插槽

<template v-slot:qwe>
<span>123</span>
</template>
<template v-slot:ewq>
<span>321</span>
</template>
Nach dem Login kopieren

在子组件中获取到插槽

 console.log(context.slots); // 得到插槽
Nach dem Login kopieren

Welche Punkte sind beim Vue3-Setup zu beachten und welche Überwachungsattribute gibt es?

③emit: 分发自定义事件的函数,相当于 this.$emit

<Demo @hi="Hello" msg="山鱼" age=10>
</Demo>
Nach dem Login kopieren

Hinweise zum Vue3-Setup Und was sind die Situationen der Überwachungseigenschaften?

②slots: Der empfangene Slot-Inhalt entspricht this.$slots.

Definieren Sie den Slot in der App

  setup() {
    function Hello(){
      console.log(&#39;你好!&#39;);
    }
    return {
      Hello
    }
  }
Nach dem Login kopieren

Holen Sie sich den Slot in der UnterkomponenteWelche Punkte sind beim Vue3-Setup zu beachten und welche Überwachungsattribute gibt es?

 function point(){
        context.emit(&#39;hi&#39;,666)
      }     
5TgxPT2v-1681788304084)]

```js
 function point(){
        context.emit(&#39;hi&#39;,666)
      }
Nach dem Login kopieren

Welche Punkte sind beim Vue3-Setup und den Bedingungen der Überwachungsattribute zu beachten?“ /></p><h3>③emit: Eine Funktion, die benutzerdefinierte Ereignisse verteilt, äquivalent zu <code> this.$emit</code>. </h3><p></p>Schreiben Sie ein benutzerdefiniertes Ereignis in der App und übergeben Sie es an die Komponente.<p></p><div class=

import { reactive,computed} from "vue";
  export default {
    name: "Demo",
    setup() {
      let person = reactive({
        firstName: "小",
        lastName: "明",
      }); 
      // 计算属性的简写形式,不考虑修改,是只读的
      /*person.fullName= computed(()=>{
        return person.firstName+&#39;-&#39;+person.lastName
      }) */
      // 计算属性的完整形式(可以读改)
      person.fullName= computed({
        get(){
          return person.firstName +&#39;-&#39;+person.lastName
        },
        set(value){
          const arr = value.split(&#39;-&#39;)
          person.firstName = arr[0]
          person.lastName = arr[1]
        }
      })
      return {
        person,
      };
    },
  };
Nach dem Login kopieren
    watch(sum, (newvalue, oldvalue) => {
      console.log(&#39;当前值为&#39;+newvalue, &#39;以前值为&#39;+oldvalue);
    });
Nach dem Login kopieren

Gehen Sie dann zur Unterkomponente und verwenden Sie context.comit, um das benutzerdefinierte Ereignis abzurufen Berechnete Konfigurationsfunktion in Vue2 die Konfiguration des überwachten Attributs.

Überwachen Sie die durch ref definierten Daten.

①Überwachen Sie das Attribut, um einen reaktionsfähigen Wert von ref zu überwachen.

        watch([sum,msg], (newvalue, oldvalue) => {
      console.log(&#39;当前值为&#39;+newvalue, &#39;以前值为&#39;+oldvalue);
    });
Nach dem Login kopieren
reaktive Definition Änderungen in Daten

Daten, die mit reaktiv definiert wurden, können mit watch nicht korrekt einen neuen Wert erhalten

, und die Tiefenüberwachung muss geöffnet werden

             watch(person,(newValue, oldValue) => {
                console.log(&#39;person变化了&#39;,newValue,oldValue)
             })
Nach dem Login kopieren
②Überwachen Sie ein bestimmtes Attribut der durch reaktive definierten Reaktionsdaten

            watch(()=>person.name,(newValue,oldValue)=>{
               console.log(&#39;person.name发生了变化&#39;,newValue,oldValue)
           })
Nach dem Login kopieren

③Überwachung bestimmter Attribute von reaktionsfähigen Daten, die durch reaktiv definiert sind

watch([()=>{person.age},()=>{person.name}],(newValue,oldValue)=>{
                console.log(&#39;person.name发生了变化&#39;,newValue,oldValue)
            })
Nach dem Login kopieren

④Besondere Situation

Hinweis: In dieser Situation wird ein bestimmtes Attribut im durch reaktiv definierten Objekt überwacht, daher kann die Tiefe aktiviert werden

 watch(()=>person.job,(newValue,oldValue)=>{
                console.log(&#39;person.name发生了变化&#39;,newValue,oldValue)
            }, {deep: true})
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWelche Punkte sind beim Vue3-Setup zu beachten und welche Überwachungsattribute gibt es?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage