首頁 > 常見問題 > vue元件傳值方式有哪些

vue元件傳值方式有哪些

DDD
發布: 2023-07-03 11:23:13
原創
2001 人瀏覽過

vue元件傳值的方法:1、使用props傳遞數據,父元件透過HTML屬性的方式將資料傳遞給子元件,子元件透過props來接收傳遞過來的資料;2、使用$emit觸發事件傳遞數據,子元件使用$emit觸發自訂事件,父元件透過v-on來監聽子元件自訂事件;3、使用provide/inject進行跨層級傳值,父元件透過provide提供數據,子元件中使用inject來接收資料。

vue元件傳值方式有哪些

本教學操作環境:Windows10系統、dell g3電腦。

Vue元件之間的傳值可以透過三種方式實現:props、$emit和provide/inject。

使用props傳遞資料:

在父元件中透過HTML屬性的方式將資料傳遞給子元件。子元件透過props來接收父元件傳遞過來的資料。

父元件:

<template>
  <div>
    <ChildComponent :message="message"/>
  </div>
</template>
<script>
import ChildComponent from &#39;ChildComponent.vue&#39;;
export default {
  components: {
    ChildComponent
  },
  data() {
    return {
      message: &#39;Hello&#39;
    }
  }
}
</script>
登入後複製

子元件:

<template>
  <div>
    {{ message }}
  </div>
</template>
<script>
export default {
  props: {
    message: String
  }
}
</script>
登入後複製

#使用$emit觸發事件傳遞資料:

在子元件中使用$emit來觸發自訂事件,並將需要傳遞的資料作為參數傳遞出去。父元件中透過v-on來監聽子元件的自訂事件,並取得傳遞的資料。

父元件:

<template>
  <div>
    <ChildComponent v-on:custom-event="updateData"/>
  </div>
</template>
<script>
import ChildComponent from &#39;ChildComponent.vue&#39;;
export default {
  components: {
    ChildComponent
  },
  data() {
    return {
      message: &#39;&#39;
    }
  },
  methods: {
    updateData(data) {
      this.message = data;
    }
  }
}
</script>
登入後複製

子元件:

<template>
  <div>
    <button @click="updateMessage">Update Message</button>
  </div>
</template>
<script>
export default {
  methods: {
    updateMessage() {
      this.$emit(&#39;custom-event&#39;, &#39;New Message&#39;);
    }
  }
}
</script>
登入後複製

#使用provide/inject進行跨層級傳值:

#在父元件中透過provide提供數據,然後在子元件中使用inject來接收數據。

父元件:

<template>
  <div>
    <ChildComponent />
  </div>
</template>
<script>
import ChildComponent from &#39;ChildComponent.vue&#39;;
export default {
  components: {
    ChildComponent
  },
  provide() {
    return {
      message: &#39;Hello&#39;
    }
  }
}
</script>
登入後複製

子元件:

<template>
  <div>
    {{ message }}
  </div>
</template>
<script>
export default {
  inject: [&#39;message&#39;]
}
</script>
登入後複製

以上就是Vue元件傳值的三種方式。根據特定場景和需求,可以選擇適合的方式來進行元件之間的資料傳遞。

以上是vue元件傳值方式有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:Vue,Vue组件,
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板