亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術文章
文章詳情頁

vue父子組件的互相傳值和調用

瀏覽:115日期:2022-09-30 15:06:10
1、父傳值給子組件

父組件:

<template> <div> <p class='father'>父組件</p> <child :sid='id'></child> </div></template><script>import child from ’./child’export default { components: { child }, data() { return { id:’1234’ // 父組件向子組件傳的值 } }}</script>

子組件:

<template> <div> <p class='child'>子組件</p> <p class='child'>接收父組件的值是:{{ sid }}</p> </div></template><script>export default { props:{ sid:{ type:String, default: ’0’ } }, // props:['sid'], data() { return {  }  } } </script>

說明:

①sid是在子組件中綁定要傳的值,記住“=”前的sid要和子組件中要接受的變量名要一致

②在子組件中用props來接受傳入的值,可以寫成對象類型,規定類型和默認值,也可以直接寫成字符串

③在子組件中可以直接使用,也可以在函數中使用this.sid進行訪問

2、子傳值給父組件

父組件:

<template> <div> <p class='father'>父組件</p>  <p class='father'>接收到子組件的值:{{childSid}}</p> <child @passVaule='parentPassValue'></child> </div></template><script>import child from ’./child’export default { components: { child }, data() { return { childSid:’’ // 接收子組件的值 } }, methods: { parentPassValue(data) { this.childSid = data; } }}</script>

子組件:

<template> <div> <p class='child'>子組件</p> <button @click='valueClick'>傳值</button> </div></template><script>export default { data() { return { } }, methods: { valueClick() { this.$emit(’passVaule’,19) } }}</script>

說明:

①子組件中給一個方法去觸發$emit,第一個參數是在父組件引入子組件綁定的函數名(’passVaule’),第二個是要傳的值(19)

②父組件中綁定一個函數,調用父組件中綁定的函數,在其中對值進行接收操作

3、子調用父組件中的方法

父組件:

<template> <div> <p class='father'>父組件</p> <child @funVaule='parentFunValue'></child> </div></template><script>import child from ’./child’export default { components: { child }, data() { return { } }, methods: { parentFunValue() { console.log(’調用了父組件中的函數’); } }}</script>

子組件:

<template> <div> <p class='child'>子組件</p> <button @click='funClick'>調用父組件方法</button> </div></template><script>export default { data() { return { } }, methods: { funClick() { this.$emit(’funVaule’) } }}</script>

說明:

①這個和子傳值給父類似,只是不傳值,調用了父組件的綁定的函數

4、父調用子組件中的方法

父組件:

<template> <div> <p class='father'>父組件</p> <button @click='childClick'>調用子組件方法</button> <child ref='mychild'></child> </div></template><script>import child from ’./child’export default { components: { child }, data() { return { } }, methods: { childClick() { this.$refs.mychild.testNum(1) } }}</script>

子組件:

<template> <div> <p class='child'>子組件</p></button> </div></template><script>export default { data() { return { } }, methods: { testNum(data) { console.log(’調用了子組件中的方法:’, data); } }}</script>

說明:

① 父組件中在引入的子組件中寫入 ref = 'mychild' mychid為自己定義的實例名

② 在函數中寫 this.refs.mychild.testNum(), “testNum”為子組件中定義的函數名

③子組件定義一個函數,讓父組件調用即可

④這個方法也可以進行傳值,在括號中傳入值,子組件接收即可

以上就是vue父子組件的互相傳值和調用的詳細內容,更多關于vue父子組件的傳值和調用的資料請關注好吧啦網其它相關文章!

標簽: Vue
相關文章:
主站蜘蛛池模板: 国产成人v爽在线免播放观看 | 色三级大全高清视频在线观看 | 三级黄网站 | 看国产一级毛片 | 亚洲精品久久9热 | 亚洲国产精品久久人人爱 | 男性吸女下身的视频 | 国产日本欧美亚洲精品视 | 欧美成人猛男性色生活 | 精品毛片 | 亚洲精品午夜国产va久久成人 | 国产精品久久毛片蜜月 | 亚洲精品线在线观看 | 久久高清精品 | 久久国产视频网 | 国产99精品免费视频看6 | 精品久久久久久影院免费 | 国产成人偷拍 | 亚洲第一视频网站 | 五月桃花网婷婷亚洲综合 | 久久综合一区二区三区 | 日韩在线成人 | 欧美一级在线播放 | 国产成人精品免费 | 精品久久久久久久高清 | 国产资源精品一区二区免费 | 在线观看中文字幕一区 | 欧美日韩 在线播放 | 亚洲一区二区成人 | 欧美成人极品怡红院tv | 老师张开腿让我爽了一夜视频 | 国产成人精品免费久久久久 | 亚洲欧美高清视频 | 亚洲国产欧美在线不卡中文 | 国产精品视频第一区二区三区 | 第一区免费在线观看 | 欧美日韩在线观看区一二 | 高清欧美不卡一区二区三区 | 一区二区三区在线 | 欧 | 国产精品久久久久影院色 | 一区二区精品在线观看 |