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

vue中props賦值給data出現(xiàn)的問(wèn)題及解決

 更新時(shí)間:2022年10月18日 10:33:50   作者:weixin_43848098  
這篇文章主要介紹了vue中props賦值給data出現(xiàn)的問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

vue props賦值給data問(wèn)題

vue 中父組件向子組件傳遞數(shù)據(jù)用 props, 但是子組件是無(wú)法修改它的。

如果子組件需要?jiǎng)討B(tài)修改它就只能自造一個(gè)對(duì)應(yīng)的 data 域。

比如:

components:{Tinymce},
? props:['id','formDatas'],
? data() {
? ? return {
? ? ? form: {
? ? ? ? title: '',
? ? ? ? title_type: '',
? ? ? ? push_date: '',
? ? ? ? source: '',
? ? ? ? title_introduce: '',
? ? ? ? title_content:'',
? ? ? }
? ? }
? },
? created(){
? ? this.form = this.formDatas
? },

這樣是無(wú)法把props的值傳遞給data里面,因?yàn)閐ata()只會(huì)運(yùn)行一次,所以要用watch來(lái)進(jìn)行監(jiān)聽(tīng)props里面內(nèi)容的變化,然后對(duì)data里面進(jìn)行賦值

?watch:{
? ? formDatas(news,olds){
? ? ? this.form = news
? ? }
? }

因此當(dāng)父組件傳遞值給子組件的時(shí)候,watch就會(huì)監(jiān)聽(tīng)到formDatas的變化,將新的值賦給你想要傳值的data,然后進(jìn)行改變。

props賦值給data 數(shù)據(jù)變化

問(wèn)題:當(dāng)組件props里的某個(gè)值(a)(a值要是對(duì)象引用類(lèi)型的數(shù)據(jù))賦給了data對(duì)象里的某個(gè)值 (b); 當(dāng)a值發(fā)生了變化,b值還是最開(kāi)始的a值, 但實(shí)際應(yīng)該是b值是最新的a值

例如

<template>
  
</template>
 
<script>
export default {
    name:'child '
    props:{
        a:{
            type:Object
        }
    },
    data(){
        return{
            b:this.a
        }
    },
    mounted(){
        console.log("b",this.b) //打印出來(lái)是a:{a1:1}
        //a值改變后打印b值
         console.log("b",this.b) //打印出來(lái)還是a:{a1:1}
    }
}
</script>
 
<style>
 
</style>
<!-------------------------------------------------------->
<template>
   <!---引用子組件--->
  <child :a="a"></child>
</template>
 
<script>
export default {
    data(){
        return{
            a:{
                a1:1
            }
        }
    },
    mounted(){
        //改變a值
        this.a.a1 = 2
    }
    
}
</script>
 
<style>
 
</style>

原因:因?yàn)閐ata深拷貝的props的值,data無(wú)法隨著props的變化而更新;

解決:watch、computed可以解決

<template>
??
</template>
?
<script>
export default {
? ? name:'child '
? ? props:{
? ? ? ? a:{
? ? ? ? ? ? type:Object
? ? ? ? }
? ? },
? ? data(){
? ? ? ? return{
? ? ? ? ? ? b:this.a
? ? ? ? }
? ? },
? ? watch:{
? ? ? ? a(val){
? ? ? ? ? ? //當(dāng)a值變化時(shí)
? ? ? ? ? ? this.b = this.a
? ? ? ? }
? ? },
? ? mounted(){
? ? ? ? //a值改變后打印b值
? ? ? ? ?console.log("b",this.b) //打印出來(lái)就是最新值了 ? a:{a1:2}
? ? }
}
</script>
?
<style>
?
</style>

  

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue?3?進(jìn)階用法之異步組件

    Vue?3?進(jìn)階用法之異步組件

    為了解決加載組件中出現(xiàn)的報(bào)錯(cuò)、超時(shí)、狀態(tài)展示等問(wèn)題,可以使用?Vue?3?提供的異步組件(Async?Components),它對(duì)于加載過(guò)程做了更細(xì)致的控制,這篇文章主要介紹了Vue?3?進(jìn)階用法之異步組件,需要的朋友可以參考下
    2024-04-04
  • vue npm install 安裝某個(gè)指定的版本操作

    vue npm install 安裝某個(gè)指定的版本操作

    這篇文章主要介紹了vue npm install 安裝某個(gè)指定的版本操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-08-08
  • vuejs父子組件之間數(shù)據(jù)交互詳解

    vuejs父子組件之間數(shù)據(jù)交互詳解

    這篇文章主要為大家詳細(xì)介紹了vuejs父子組件之間的數(shù)據(jù)交互,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • vue常用事件v-on:click詳解事件對(duì)象,事件冒泡,事件默認(rèn)行為

    vue常用事件v-on:click詳解事件對(duì)象,事件冒泡,事件默認(rèn)行為

    這篇文章主要介紹了vue常用事件之v-on:click?以及事件對(duì)象,事件冒泡,事件默認(rèn)行為,其實(shí)v-on后面跟的不止是click事件也可以是其他的事件,用法均相似,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • Vue iview-admin框架二級(jí)菜單改為三級(jí)菜單的方法

    Vue iview-admin框架二級(jí)菜單改為三級(jí)菜單的方法

    這篇文章主要介紹了Vue iview-admin框架二級(jí)菜單改為三級(jí)菜單的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • Vue實(shí)現(xiàn)6位數(shù)密碼效果

    Vue實(shí)現(xiàn)6位數(shù)密碼效果

    這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)6位數(shù)密碼,優(yōu)化iOS WebView卡頓,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • 一文帶你了解vue雙向數(shù)據(jù)綁定

    一文帶你了解vue雙向數(shù)據(jù)綁定

    v-model?是?Vue.js?中一個(gè)重要的指令,它提供了一種簡(jiǎn)潔的方式來(lái)實(shí)現(xiàn)雙向數(shù)據(jù)綁定,下面小編就來(lái)帶大家深入了解下vue雙向數(shù)據(jù)綁定的原理與應(yīng)用吧
    2023-09-09
  • vue中格式化時(shí)間過(guò)濾器代碼實(shí)例

    vue中格式化時(shí)間過(guò)濾器代碼實(shí)例

    這篇文章主要介紹了vue格式化時(shí)間過(guò)濾器,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Vue全局監(jiān)測(cè)錯(cuò)誤并生成錯(cuò)誤日志實(shí)現(xiàn)方法介紹

    Vue全局監(jiān)測(cè)錯(cuò)誤并生成錯(cuò)誤日志實(shí)現(xiàn)方法介紹

    在做完一個(gè)項(xiàng)目后,之后的維護(hù)尤為重要。這時(shí),如果項(xiàng)目配置了錯(cuò)誤日志記錄,這樣能大大減少維護(hù)難度。雖然不一定能捕獲到全部的錯(cuò)誤,但是一般的錯(cuò)誤還是可以監(jiān)測(cè)到的。這樣就不用測(cè)試人員去一遍一遍復(fù)現(xiàn)bug了
    2022-10-10
  • Vue生命周期介紹和鉤子函數(shù)詳解

    Vue生命周期介紹和鉤子函數(shù)詳解

    這篇文章主要給大家介紹了關(guān)于Vue生命周期介紹和鉤子函數(shù)的相關(guān)資料,對(duì)大家學(xué)習(xí)或者使用vue2具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨小編一起來(lái)看看吧
    2021-10-10

最新評(píng)論

紫云| 双柏县| 蒙阴县| 成武县| 湟源县| 桃源县| 龙游县| 衡水市| 汾阳市| 盐边县| 石林| 成都市| 海阳市| 涞源县| 衢州市| 镇坪县| 文登市| 丰城市| 吉安县| 鱼台县| 贵德县| 西藏| 尼勒克县| 界首市| 佛教| 突泉县| 北川| 长岭县| 玉门市| 南皮县| 丰台区| 韶关市| 宜州市| 泸定县| 苏州市| 吴堡县| 福安市| 青海省| 乐业县| 社旗县| 阳谷县|