最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue子組件props從父組件接收數(shù)據(jù)并存入data

 更新時間:2022年08月23日 11:46:07   作者:我有柚子茶噢  
這篇文章主要介紹了Vue子組件props從父組件接收數(shù)據(jù)并存入data的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

經(jīng)過測試父組件中傳遞過來的數(shù)據(jù)有以下特點:

1.不允許直接修改

如果直接使用 this.xxx = action 操作的話 控制臺會報下面這個錯誤

大概的意思是 你小子不要隨便劈我瓜,我父組件的瓜豈是你能變的,父組件重新渲染時,這個值會被覆蓋,你小子自個兒用計算屬性或者data存一下吧

2.存在異步的情況

假如父組件該數(shù)據(jù)是后臺接口獲取的數(shù)據(jù),那么會產(chǎn)生這種情況。子組件的生命周期都已經(jīng)走完了,父組件的數(shù)據(jù)還沒傳過來。因為V8引擎的運行速度是很快的,萬分之一毫秒都等不了,如果是異步的話,子組件里是沒有辦法操作這個數(shù)據(jù)的。

父組件
<template>
  <div>
    <children :father="father"></children>
  </div>
</template>
<script>
import children from "./children";
export default {
  components: { children },
  data() {
    return {
      father: null
    };
  },
  mounted() {
    setTimeout(() => {
      this.father = { name: "父親" };
    }, 1000);
  },
  methods: {}
};
</script>
子組件
<template>
  <div></div>
</template>
<script>
export default {
  data() {
    return {
      student: {
        name: "張三"
      }
    };
  },
  props: {
    father: {
      type: Object,
      default: () => {}
    }
  },
  watch: {
    father: {
      handler(newVal) {
        this.fatherData =newVal
        console.log(this.fatherData);
      },
      deep: true,
      immediate: true
    }
  },
  created() {},
  mounted() {
    console.log(this.father);
  },
  methods: {}
};
</script>

解決思路

第一步

在父組件中使用子組件時,為子組件加上v-if='flag',初始賦值為flag=false,等待異步賦值操作完成后修改flag=true,這個操作不單單只試用于異步情況,建議只要涉及到數(shù)據(jù)流的操作與加工,都加上v-if限制,保證數(shù)據(jù)獲取到之后再開始運作子組件的生命周期。

//也可以這樣,簡潔一些
 <div>
    <children v-if="father" :father="father"></children>
  </div>

第二步

在子組件中對props進行watch監(jiān)聽,變化后立刻將newVal賦值到data中并保存起來

watch: {
    father: {
      handler(newVal) {
        this.fatherData =newVal
        console.log(this.fatherData);
      },
      deep: true,
      immediate: true
    }
  },

這里還會出現(xiàn)一種額外的情況,就是watch中可以賦值到,也能打印出具體的值出來,但是一到其他生命周期中使用確是空,這個情況

這種情況可能是對象共享地址,或者數(shù)據(jù)正處于處理中,應(yīng)當自行進行深克隆一份進行傳遞,一般只要方法寫得比較健壯,此種情況基本不會出現(xiàn)

到此這篇關(guān)于Vue子組件props從父組件接收數(shù)據(jù)并存入data的文章就介紹到這了,更多相關(guān)Vue props內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 利用nodeJS+vue圖片上傳實現(xiàn)更新頭像的過程

    利用nodeJS+vue圖片上傳實現(xiàn)更新頭像的過程

    Vue是一套構(gòu)建用戶界面的框架,最近工作中遇到了一個需求,需要做一個更新頭像的通能,下面這篇文章主要給大家介紹了關(guān)于利用nodeJS+vue圖片上傳的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • Vue組件的渲染流程詳細講解

    Vue組件的渲染流程詳細講解

    在Vue核心中除了響應(yīng)式原理外,視圖渲染也是重中之重,下面這篇文章主要給大家介紹了關(guān)于Vue組件的渲染流程,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • 使用vue打包進行云服務(wù)器上傳的問題

    使用vue打包進行云服務(wù)器上傳的問題

    這篇文章主要介紹了使用vue打包進行云服務(wù)器上傳,本文給大家介紹的非常詳細,對大家的工作或?qū)W習具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • 詳解如何從零開始搭建Express+Vue開發(fā)環(huán)境

    詳解如何從零開始搭建Express+Vue開發(fā)環(huán)境

    這篇文章主要介紹了詳解如何從零開始搭建Express+Vue開發(fā)環(huán)境,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • 如何獲取vue單文件自身源碼路徑

    如何獲取vue單文件自身源碼路徑

    這篇文章主要介紹了如何獲取vue單文件自身源碼路徑,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-05-05
  • vue component組件使用方法詳解

    vue component組件使用方法詳解

    這篇文章主要為大家詳細介紹了vue component組件的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • vue.js動畫中的js鉤子函數(shù)的實現(xiàn)

    vue.js動畫中的js鉤子函數(shù)的實現(xiàn)

    這篇文章主要介紹了vue.js動畫中的js鉤子函數(shù)的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • 使用vue3.2實現(xiàn)多頁簽導(dǎo)航

    使用vue3.2實現(xiàn)多頁簽導(dǎo)航

    這篇文章主要為大家詳細介紹了如何使用vue3.2 + elementPlus + pinia 實現(xiàn)多頁簽導(dǎo)航,文中的示例代碼講解詳細,有需要的小伙伴可以參考一下
    2023-12-12
  • vue element實現(xiàn)多個Formt表單同時驗證

    vue element實現(xiàn)多個Formt表單同時驗證

    這篇文章主要介紹了vue element實現(xiàn)多個Formt表單同時驗證方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Vue數(shù)據(jù)驅(qū)動模擬實現(xiàn)4

    Vue數(shù)據(jù)驅(qū)動模擬實現(xiàn)4

    這篇文章主要介紹了Vue數(shù)據(jù)驅(qū)動模擬實現(xiàn)的相關(guān)資料,介紹了Array的變異方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01

最新評論

山阴县| 托克逊县| 得荣县| 县级市| 四子王旗| 宜城市| 米泉市| 会理县| 芮城县| 大理市| 黄石市| 仲巴县| 蕉岭县| 兰州市| 瓦房店市| 边坝县| 正蓝旗| 青神县| 永昌县| 高碑店市| 江城| 富平县| 迁西县| 论坛| 忻城县| 哈尔滨市| 奉节县| 建平县| 盐山县| 赤峰市| 宝鸡市| 夹江县| 宁晋县| 马关县| 博客| 万州区| 无极县| 宜都市| 平昌县| 兰坪| 三明市|