Heim > Web-Frontend > View.js > Hauptteil

Welche Möglichkeiten gibt es, Werte in Vue zu übergeben?

藏色散人
Freigeben: 2023-01-13 00:45:25
Original
11698 Leute haben es durchsucht

Vues Wertübertragungsmethoden umfassen: 1. Requisiten werden nach unten und Ereignisse nach oben weitergeleitet; 2. untergeordnete Komponenten lösen benutzerdefinierte Ereignisse von übergeordneten Komponenten durch $emit aus; 3. Übertragung zwischen nicht übergeordneten und untergeordneten Komponenten durch Definieren öffentlicher Instanzdateiwerte .

Welche Möglichkeiten gibt es, Werte in Vue zu übergeben?

Die Betriebsumgebung dieses Artikels: Windows7-System, Vue-Version 2.5.17, DELL G3-Computer.

? Requisiten werden nach unten und Ereignisse nach oben weitergegeben. Die übergeordnete Komponente sendet Daten über Requisiten an die untergeordnete Komponente, und die untergeordnete Komponente sendet über Ereignisse Nachrichten an die übergeordnete Komponente.

Übergeordnete Komponente:

<template>
  <p>
    父组件:
    <input type="text" v-model="name">
    <br>
    <br>
    <!-- 引入子组件 -->
    <child :inputName="name"></child>  //child子组件通过 :inputName="name" 将值传过去
  </p>
</template>
<script>
  import child from './child'
  export default {
    components: {
      child
    },
    data () {
      return {
        name: ''
      }
    }
  }
</script>
Nach dem Login kopieren

Untergeordnete Komponente:

<template>
  <p>
    子组件:
    <span>{{inputName}}</span>
  </p>
</template>
<script>
  export default {
    // 接受父组件的值
    props: {
      inputName: String,   //在这里对传过来的进行接收
      required: true
    }
  }
</script>
Nach dem Login kopieren

Vom Sohn zum Elternteil

Untergeordnete Komponenten können über $emit benutzerdefinierte Ereignisse der übergeordneten Komponente auslösen. vm.$emit(event,arg) wird verwendet, um Ereignisse auf der aktuellen Instanz auszulösen Nicht-übergeordnete und untergeordnete Komponenten müssen eine öffentliche öffentliche Instanzdatei bus.js als Zwischenlager für die Werteübertragung definieren, andernfalls wird der Wertübertragungseffekt zwischen Routing-Komponenten nicht erreicht.

Public bus.js
<template>
  <p>
    子组件:
    <span>{{childValue}}</span>
    <!-- 定义一个子组件传值的方法 -->
    <input type="button" value="点击触发" @click="childClick">
  </p>
</template>
<script>
  export default {
    data () {
      return {
        childValue: '我是子组件的数据'
      }
    },
    methods: {
      childClick () {
        // childByValue是在父组件on监听的方法
        // 第二个参数this.childValue是需要传的值
        this.$emit('childByValue', this.childValue)  
      }
    }
  }
</script>
Nach dem Login kopieren

Komponente A:

<template>
  <p>
    父组件:
    <span>{{name}}</span>
    <br>
    <br>
    <!-- 引入子组件 定义一个on的方法监听子组件的状态-->
    <child v-on:childByValue="childByValue"></child>
  </p>
</template>
<script>
  import child from './child'
  export default {
    components: {
      child
    },
    data () {
      return {
        name: ''
      }
    },
    methods: {
      childByValue: function (childValue) {
        // childValue就是子组件传过来的值
        this.name = childValue
      }
    }
  }
</script>
Nach dem Login kopieren

Komponente B:

//bus.js
import Vue from 'vue'
export default new Vue()
Nach dem Login kopieren

Verwandte Empfehlungen: „vue.js-Tutorial“ „

Die neuesten 5 vue.js-Video-Tutorial-Auswahlen

Das obige ist der detaillierte Inhalt vonWelche Möglichkeiten gibt es, Werte in Vue zu übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
vue
Quelle:php.cn
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 Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage