日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

vue学习笔记(1)-组件通信

發布時間:2023/12/31 vue 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vue学习笔记(1)-组件通信 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

vue.js官方教程上講的也挺清楚的了,自己整理一遍以加深印象,同時也完成自己的項目中需要的動態創建表單提交編輯修改功能。
表單主要是v-model雙向綁定實現父組件與子組件的雙向數據傳遞,所以首先說一下組件之間的通信。

組件通信

父組件向子組件傳值 props

// 子組件 Vue.component("my-com",{template:"<div>{{msg}}===={{info}}</div>",props:["msg"], //必須是字符串形式data:function(){ return {info:"子組件的信息"}} });// 使用時 <my-com :msg="message"></my-com> // 必須使用v-bind綁定,不然傳遞的是字符串var app=new Vue({el:"#app",data:{message:"父組件的內容"} }); 復制代碼

子組件向父組件傳遞$emit()

//邏輯是,給子組件添加事件,子組件事件觸發時,往上觸發父組件的事件,并且給事件傳值,父組件即可獲得子組件的值并在事件中處理 Vue.component("my-com",{template:'<button type="button" @click="add">點擊+1</button>',data:function(){return {count:0}},methods:{add(){this.count++;this.$emit("from-son",this.count);}} })// 使用時 <my-com @from-son="add1"></my-com> // 觸發from-son事件,接收到子組件的數據var app=new Vue({el:"#app",data:{msg:""},methods:{add1(value){this.msg=value;}} }) 復制代碼

雙向數據傳遞 v-model

由前面分析可以看出,實現雙向綁定的話,就是同時有props傳遞,又有$emit()觸發
首先,<input v-model="text">等價于:

<input v-bind:value="text" v-on:input="text=$event.target.value"> 復制代碼

因此組件要使用v-model,也需要:

<my-componentv-bind:value="text" //父向子傳遞v-on:input="text=$event.target.value" //子向父傳遞 ><my-component> 復制代碼

所以子組件必須滿足:

Vue.component("my-component",{template:'<div @click="fn"></div>'props:['value'],methods:{fn(event){this.$emit("input",event.target.value)}} })復制代碼

轉載于:https://juejin.im/post/5ccba9cce51d453ab5096a79

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的vue学习笔记(1)-组件通信的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。