Rumah > hujung hadapan web > View.js > Apakah cara untuk menghantar nilai dalam Vue?

Apakah cara untuk menghantar nilai dalam Vue?

藏色散人
Lepaskan: 2023-01-13 00:45:25
asal
11731 orang telah melayarinya

Kaedah pemindahan nilai Vue termasuk: 1. prop dihantar ke bawah dan acara diteruskan ke atas; contoh awam fail pemindahan nilai antara.

Apakah cara untuk menghantar nilai dalam Vue?

Persekitaran pengendalian artikel ini: sistem Windows 7, vue versi 2.5.17, komputer DELL G3.

Apakah kaedah lulus nilai dalam Vue?

Tiga kaedah lulus nilai yang biasa digunakan dalam Vue

Penyampaian Ibu Bapa kepada anak-anak

Hubungan antara komponen ibu bapa dan anak boleh diringkaskan apabila prop diturunkan ke bawah dan acara diteruskan ke atas. Komponen induk menghantar data kepada komponen anak melalui prop, dan komponen anak menghantar mesej kepada komponen induk melalui acara.

Komponen induk:

<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>
Salin selepas log masuk

Komponen anak:

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

Dari anak kepada bapa

Subkomponen boleh mencetuskan peristiwa tersuai komponen induk melalui $emit. vm.$emit(event,arg) digunakan untuk mencetuskan peristiwa pada tika semasa; 🎜 >

Melalui nilai antara komponen bukan ibu bapa dan anak

<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>
Salin selepas log masuk
Untuk menghantar nilai antara komponen bukan ibu bapa dan anak, anda perlu mentakrifkan fail contoh awam awam bus.js sebagai gudang perantaraan untuk menghantar nilai, sebaliknya penghalaan Kesan pemindahan nilai antara komponen tidak dapat dicapai.

<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>
Salin selepas log masuk
Bas awam.js

Komponen A:

Komponen B:

Cadangan berkaitan: "

tutorial vue.js
//bus.js
import Vue from 'vue'
export default new Vue()
Salin selepas log masuk
》《

5 pilihan tutorial video vue.js terbaharu

<template>
  <p>
    A组件:
    <span>{{elementValue}}</span>
    <input type="button" value="点击触发" @click="elementByValue">
  </p>
</template>
<script>
  // 引入公共的bug,来做为中间传达的工具
  import Bus from './bus.js'
  export default {
    data () {
      return {
        elementValue: 4
      }
    },
    methods: {
      elementByValue: function () {
        Bus.$emit('val', this.elementValue)
      }
    }
  }
</script>
Salin selepas log masuk

Atas ialah kandungan terperinci Apakah cara untuk menghantar nilai dalam Vue?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
vue
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan