uniapp里組件傳值的異常情況(Watch方法的使用)


 在用父組件傳值給子組件一個參數后遇到了一個問題:

我在父組件傳一個 ID值給子組件,但是子組件接收后,通過created生命周期或mounted生命周期里打印傳遞過來的值都是隨機值,並不是我所傳遞過來的,

原因是:子組件得ID值在前,而父組件在傳過去為后.

代碼如下

 父組件
<template>
    <view>
       <aaa :id='id'></aaa>  
    </view>
</template>
  
<script>
  data(){
    return{
      id:19754
    }
  },
  onload(){

    console.log(''id',this.id)

  },

   method:{
        
  }
</script>


子組件
<template>
    <view>
      {{id}}
    </view>
</template>
  
<script>
  props:['id'],
  data(){},
  mounted(){
  console.log('id',this.idid)
  },
    method:{
        
    }
</script>

 解決辦法:
通過watch來監聽傳遞過來的字段:把這個字段賦值給一個新字段
<template>
    <view>
      {{newID}}
    </view>
</template>
  
<script>
  props:['id'],
  data(){
    return{
      newId:''
    }
  },
  mounted(){
  console.log('id',this.idid)
  },
  watch:{
    id:fuction(){
      this.newID = this.id
    }  
    console.log(this.newID)
  },
    method:{
        
    }
</script>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM