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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

VUE中父子组件传参(简单明了)

發布時間:2025/3/12 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VUE中父子组件传参(简单明了) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

·?父組件向子組件傳遞參數

child.vue如下

<template><div class="childClass"><h3>子組件內容</h3><p :class="num==6?redclass:blueclass">當父組件內容傳遞給子組件時,該行變成紅色</p><p>父組件向子組件傳遞的參數是:{{num}}</p></div></template><style lang='css'>.redclass {color:red;}.blueclass {color:blue;}</style><script>export default {data(){return {redclass:'redclass',blueclass:'blueclass',}},props:['num'], //使用字符串數組的形式!!// props:{ //當props是一個對象時,他包含驗證要求// num:{// type:Number,// default:100,// },// }}</script>

?

parent.vue如下

<template><div cals="parent"><h3>這是父組件的內容</h3><hr><Child :num="parentNum"></Child></div></template><script>import Child from './child.vue'export default {components:{ Child },data(){return {parentNum:6,}},}</script>

?

實現原理如下:

· 子組件在props中創建一個屬性如上的num,用來接收父組件中傳遞過來的值;

· 父組件中注冊子組件,如components:{Child}

· 父組件中使用子組件標簽,并在子組件標簽中添加子組件props中創建的屬性,如 <Child :num=””></Child>

· 把需要傳遞給子組件的值賦值給該屬性,如<Child :num=”value”></Child>

?

------------------------------------------------------------------------------------------

?

·?組件向父組件傳遞參數

?

parent.vue如下

<template><div cals="parent"><h3>這是父組件的內容</h3><p :class='num==8?redclass:blueclass'>當子組件向父組件傳遞參數成功后,該行文字變紅色</p><p>父組件從子組件獲取的參數是:{{num}}</p><hr><Child @listenToChildEvent="showMsgFromChild"></Child></div></template><style>.redclass {color:red;}.blueclass {color:blue;}</style><script>import Child from './child.vue'export default {components:{ Child },data(){return {num:0, //聲明需要接受子組件參數的屬性redclass:'redclass',blueclass:'blueclass',}},methods:{showMsgFromChild(data){this.num=data; //將子組件觸發該事件時傳遞的參數賦值給父組件的屬性console.log(data);}}}</script>

child.vue如下

<template><div class="childClass"><h3>子組件內容</h3><p>子組件向父組件傳遞的參數是:{{childNum}}</p><button @click="sendMsgToParent()">點擊傳遞參數</button></div></template><script>export default {data(){return {childNum:8,}},methods:{sendMsgToParent(){this.$emit('listenToChildEvent',this.childNum);}}}</script>

實現原理如下:

·父組件使用子組件標簽,子組件標簽中使用 v-on綁定自定義事件來監聽該事件的觸發 ,以及該自定義事件的相應函數(接收處理子組件傳遞的參數),如<Child @listenToChildEvent="showMsgFromChild()"></Child>? ? ? ? ? showMsgFromChild(data){ this.num=data; }
·子組件中觸發該自定義事件,并傳遞子組件中的參數,如
sendMsgToParent(){ this.$emit('listenToChildEvent',this.childNum); }

?

注意:

1、props是可以是字符串數組,也可以是對象(可以類型驗證、設置默認值等) ;

2、使用.native修飾監聽事件,開發中使用了element-ui 的框架標簽時候,使用事件綁定無效。這時候需要使用.native 修飾v-on:event ,可以在框架標簽或組件的根元素上監聽一個原生事件,例如

<my-component v-on:click.native="doTheThing"></my-component>

?

?

?

總結

以上是生活随笔為你收集整理的VUE中父子组件传参(简单明了)的全部內容,希望文章能夠幫你解決所遇到的問題。

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