欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue組件傳值的實(shí)現(xiàn)方式小結(jié)【三種方式】

 更新時(shí)間:2020年02月05日 09:07:45   作者:不想寫代碼的碼農(nóng)  
這篇文章主要介紹了vue組件傳值的實(shí)現(xiàn)方式,結(jié)合實(shí)例形式總結(jié)分析了vue.js組建傳值的三種實(shí)現(xiàn)方式,包括父傳子、子傳父及非父子傳值,需要的朋友可以參考下

本文實(shí)例講述了vue組件傳值的實(shí)現(xiàn)方式。分享給大家供大家參考,具體如下:

前言

vue的組件傳值分為三種方式:父傳子、子傳父、非父子組件傳值

引用官網(wǎng)的一句話:父子組件的關(guān)系可以總結(jié)為 prop 向下傳遞,事件向上傳遞

父組件通過 prop 給子組件下發(fā)數(shù)據(jù),子組件通過事件給父組件發(fā)送消息,如下圖所示:

下面我們就開始用代碼(一言不合就上代碼)詳細(xì)的介紹vue組件傳值的三種方式

1、父傳子

子組件的代碼:

<template>
  <div id="container">
    {{msg}}
  </div>
</template>
<script>
export default {
 data() {
  return {};
 },
 props:{
  msg: String
 }
};
</script>
<style scoped>
#container{
  color: red;
  margin-top: 50px;
}
</style>

父組件的代碼:

<template>
  <div id="container">
    <input type="text" v-model="text" @change="dataChange">
    <Child :msg="text"></Child>
  </div>
</template>
<script>
import Child from "@/components/Child";
export default {
 data() {
  return {
   text: "父組件的值"
  };
 },
 methods: {
  dataChange(data){
    this.msg = data
  }
 },
 components: {
  Child
 }
};
</script>
<style scoped>
</style>

父傳子的實(shí)現(xiàn)方式就是通過props屬性,子組件通過props屬性接收從父組件傳過來的值,而父組件傳值的時(shí)候使用 v-bind 將子組件中預(yù)留的變量名綁定為data里面的數(shù)據(jù)即可

2、子傳父

子組件代碼:

<template>
  <div id="container">
    <input type="text" v-model="msg">
    <button @click="setData">傳遞到父組件</button>
  </div>
</template>
<script>
export default {
 data() {
  return {
   msg: "傳遞給父組件的值"
  };
 },
 methods: {
  setData() {
   this.$emit("getData", this.msg);
  }
 }
};
</script>
<style scoped>
#container {
 color: red;
 margin-top: 50px;
}
</style>

父組件代碼:

<template>
  <div id="container">
    <Child @getData="getData"></Child>
    <p>{{msg}}</p>
  </div>
</template>
<script>
import Child from "@/components/Child";
export default {
 data() {
  return {
   msg: "父組件默認(rèn)值"
  };
 },
 methods: {
  getData(data) {
   this.msg = data;
  }
 },
 components: {
  Child
 }
};
</script>
<style scoped>
</style>

子傳父的實(shí)現(xiàn)方式就是用了 this.$emit 來遍歷 getData 事件,首先用按鈕來觸發(fā) setData 事件,在 setData 中 用 this.$emit 來遍歷 getData 事件,最后返回 this.msg

總結(jié):

  • 子組件中需要以某種方式例如點(diǎn)擊事件的方法來觸發(fā)一個(gè)自定義事件
  • 將需要傳的值作為$emit的第二個(gè)參數(shù),該值將作為實(shí)參傳給響應(yīng)自定義事件的方法
  • 在父組件中注冊(cè)子組件并在子組件標(biāo)簽上綁定對(duì)自定義事件的監(jiān)聽

3、非父子

vue 中沒有直接子對(duì)子傳參的方法,建議將需要傳遞數(shù)據(jù)的子組件,都合并為一個(gè)組件

如果一定需要子對(duì)子傳參,可以先從傳到父組件,再傳到子組件(相當(dāng)于一個(gè)公共bus文件)

為了便于開發(fā),vue 推出了一個(gè)狀態(tài)管理工具 vuex,可以很方便實(shí)現(xiàn)組件之間的參數(shù)傳遞

希望本文所述對(duì)大家vue.js程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • vue2.0 獲取從http接口中獲取數(shù)據(jù),組件開發(fā),路由配置方式

    vue2.0 獲取從http接口中獲取數(shù)據(jù),組件開發(fā),路由配置方式

    今天小編就為大家分享一篇vue2.0 獲取從http接口中獲取數(shù)據(jù),組件開發(fā),路由配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Vue學(xué)習(xí)之Vuex的使用詳解

    Vue學(xué)習(xí)之Vuex的使用詳解

    這篇文章主要介紹了Vue中的插件:Vuex。本文將圍繞它的優(yōu)缺點(diǎn)、使用場(chǎng)景和示例展開詳細(xì)的說明,感興趣的小伙伴可以跟隨小編一起了解一下
    2022-01-01
  • Vue3?源碼解讀靜態(tài)提升詳解

    Vue3?源碼解讀靜態(tài)提升詳解

    這篇文章主要為大家介紹了Vue3源碼解讀靜態(tài)提升示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • Vue簡易注冊(cè)頁面+發(fā)送驗(yàn)證碼功能的實(shí)現(xiàn)示例

    Vue簡易注冊(cè)頁面+發(fā)送驗(yàn)證碼功能的實(shí)現(xiàn)示例

    本文主要介紹了Vue簡易注冊(cè)頁面+發(fā)送驗(yàn)證碼功能的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Vue?Cli中的環(huán)境變量和模式

    Vue?Cli中的環(huán)境變量和模式

    這篇文章主要介紹了Vue?Cli中的環(huán)境變量和模式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue實(shí)現(xiàn)動(dòng)態(tài)進(jìn)度條效果

    vue實(shí)現(xiàn)動(dòng)態(tài)進(jìn)度條效果

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)動(dòng)態(tài)進(jìn)度條效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • vue截圖轉(zhuǎn)base64轉(zhuǎn)文件File異步獲取方式

    vue截圖轉(zhuǎn)base64轉(zhuǎn)文件File異步獲取方式

    這篇文章主要介紹了vue截圖轉(zhuǎn)base64轉(zhuǎn)文件File異步獲取方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Vue3+Vite+TS實(shí)現(xiàn)二次封裝element-plus業(yè)務(wù)組件sfasga

    Vue3+Vite+TS實(shí)現(xiàn)二次封裝element-plus業(yè)務(wù)組件sfasga

    這篇文章主要介紹了在Vue3+Vite+TS的基礎(chǔ)上實(shí)現(xiàn)二次封裝element-plus業(yè)務(wù)組件sfasga,下面文章也將圍繞實(shí)現(xiàn)二次封裝element-plus業(yè)務(wù)組件sfasga的相關(guān)介紹展開相關(guān)內(nèi)容,具有一定的參考價(jià)值,需要的小伙伴可惡意參考一下
    2021-12-12
  • vue-cli的index.html中使用環(huán)境變量方式

    vue-cli的index.html中使用環(huán)境變量方式

    這篇文章主要介紹了vue-cli的index.html中使用環(huán)境變量方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • vue?props使用typescript自定義類型的方法實(shí)例

    vue?props使用typescript自定義類型的方法實(shí)例

    這篇文章主要給大家介紹了關(guān)于vue?props使用typescript自定義類型的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-01-01

最新評(píng)論