国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

vue組件中的數據傳遞方法

2024-05-06 15:34:13
字體:
來源:轉載
供稿:網友

Vue 的組件作用域都是孤立的,不允許在子組件的模板內直接引用父組件的數據。必須使用特定的方法才能實現組件之間的數據傳遞。組件之間傳遞數據大致分為三種情況:

父組件向子組件傳遞數據,通過 props 傳遞數據。

子組件向父組件傳遞數據,通過 events 傳遞數據。

兩個同級組件之間傳遞數據,通過 event bus 傳遞數據。

一、父組件向子組件傳遞數據

子組件部分:

<template>  <div class="child">    {{ msg }}  </div></template><script>export default { name: 'child', data(){  return {    } }, props: ['msg']</script>

在child.vue中,msg實在data中定義的變量,使用props:['msg']從父組件中獲取msg的值

父組件部分:

<template>  <div class="child">    child    <child :msg="message"></child>  </div></template><script>import child from './child.vue'export default { name: 'parent', components: { child }, data () {  return {   message: 'hello vue'  } }}</script>

在調用組件的時候,使用v-bind將msg的值綁定為parent.vue中定義的變量message,這樣就能將parent.vue中的message的值傳給child.vue了。

單項數據流

當父組件的 message 發生改變,子組件也會自動地更新視圖。但是在子組件中,我們不要去修改 prop。如果你必須要修改到這些數據,你可以使用以下方法:

方法一:把 prop 賦值給一個局部變量,然后需要修改的話就修改這個局部變量,而不影響 prop

export default {  data(){    return {      newMessage: null    }   },  props: ['message'],  created(){    this.newMessage = this.message;  }}

方法二:在計算屬性中對 prop 進行處理

export default {  props: ['message'],  computed: {    newMessage(){      return this.message + ' 哈哈哈';    }  }}

二、子組件向父組件傳遞數據

子組件主要通過實踐傳遞數據給父組件的

子組件部分:

<template>  <div class="child">   <span>用戶名:</span>   <input v-model="username" @change="sendUser" />  </div></template>

子組件的html中,當input中的值發生改變時,將username傳遞給parent.vue。

首先聲明了一個sendUser方法,用change事件來調用sendUser。

<script> export default {  name: 'parend',  data () {   return {     username: ''   }  },  methods: {   sendUser () {    this.$emit('changeName', this.username)   }  }}</script>

在sendUser中,使用$emit來遍歷changeName事件,并返回this.name,其中changeName是一個自定義的事件,功能類似于一個中轉,this.name將通過這個事件傳遞給父組件。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 河东区| 汝南县| 宜宾县| 清涧县| 新昌县| 奉新县| 沂源县| 社会| 通海县| 溆浦县| 电白县| 会同县| 高邑县| 婺源县| 晋中市| 普兰县| 无极县| 南汇区| 霍邱县| 苍南县| 汨罗市| 蕲春县| 盐城市| 信宜市| 通城县| 夏津县| 石门县| 来凤县| 塔河县| 保亭| 梧州市| 汪清县| 镇巴县| 樟树市| 工布江达县| 蒲江县| 桑植县| 和林格尔县| 广元市| 苏州市| 汪清县|