vue—組件傳值的基本內容與sync


 

父組件傳值給子組件

這里涉及$emit()  :用於子組件給父組件傳值

父組件中注冊了子組件,將值傳遞給子組件:

<blog-post title="My journey with Vue"></blog-post>

子組件利用props接收值

export default{
    data(){
         return {}
    },
     props: ['title'],
}


//this.$props.title 就能獲取到值了哦~

 子組件傳值給父組件

子組件:

<button @click="toParents()">給父組件傳值</button>


//方法
 toParents:function(){
   this.$emit('parentFun','這是給父組件的值')
 }


//可以簡寫成
<button @click="$emit('parentFun','hhhh')">給父組件傳值</button>

父組件:

<HelloWorld :msg.async="msg" @parentFun='change'/>  //注冊組件的時候進行事件綁定

//方法
change:function(data){
    console.log(data)
}

 

vue2.4+版本后添加了.sync修飾符:可以在子組件中修改值

父組件:

<HelloWorld :msg.sync="msg" @parentFun='change'/>   //使用sync修飾符
//在父組件中監聽msg是否發生了變化

  watch:{
    msg:(newValue,oldValue)=>{
      console.log(oldValue);
      console.log(newValue)
    }
  },

子組件中:要修改值需要出發函數  update:msg    : update是固定的,后面跟着的是變量  

changeMsg: function() {
     this.$emit('update:msg','hello')
     console.log(this.$props.msg)
},

 

 

 


免責聲明!

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



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