最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺析vue中的組件傳值

 更新時(shí)間:2022年04月25日 08:29:20   作者:清城幻影  
這篇文章主要介紹了淺析vue中的組件傳值,文章基于vue的相關(guān)資料展開(kāi)對(duì)主題的詳細(xì)介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下

前言:

只要是做項(xiàng)目,組件和組件之間的傳值是不可避免的,那么怎樣才能完成組件之間的傳值呢?我總結(jié)了以下幾點(diǎn),若有不足,歡迎補(bǔ)充

一、正向傳值

基本寫法:

props:[“接收變量1”,“接收變量2”。。。。。。。]

使用:

1,在需要接收數(shù)據(jù)的子組件中,定義props設(shè)置接收變量

<template>
<div>
<!-- 2.直接向變量一樣進(jìn)行使用 -->
zizizizzizizizizizi---{{title}}
</div>
</template>
<script>
export default {
// 1.定義了接收參數(shù)
props:["title"]
}
</script>
<style>
</style>

2,父組件傳遞

在子組件被調(diào)用的位置,父組件給接受數(shù)據(jù)上傳值

<template>
<div>
fufuffufufuf----{{text}}
<!-- 3.子組件接收父組件的數(shù)據(jù) -->
<Zi :title="text"/>
<Zib/>
</div>
</template>
<script>
import Zi from "./zi.vue"
import Zib from "./zib.vue"
export default {
data(){
return {
text:"你好我是fufuffu的變量!!"
}
},
components:{
Zi,Zib
}
}
</script>
<style>
</style>

驗(yàn)證寫法 props驗(yàn)證

就是在正向傳值的時(shí)候,有時(shí)候需要對(duì)傳遞過(guò)來(lái)的數(shù)據(jù)進(jìn)行格式類型上的約束,傳統(tǒng)的proposal寫法傳遞任何內(nèi)容都是可以的,但是如果要約束,那么我們可以使用props驗(yàn)證的寫法,對(duì)正向傳值歸來(lái)的數(shù)據(jù)格式進(jìn)行驗(yàn)證

語(yǔ)法:

props:{

你定義的接受數(shù)據(jù)變量:你要的數(shù)據(jù)類型

}

<template>
<div>
<!-- 2.直接向變量一樣進(jìn)行使用 -->
zizizizzizizizizizi---{{title+6}}
</div>
</template>
<script>
export default {
// 1.定義了接收參數(shù)
// props:["title"]
// props驗(yàn)證
props:{
title:Number
}
}
</script>
<style>
</style>

注意:

proposal驗(yàn)證是驗(yàn)證我們傳遞參數(shù)的時(shí)候數(shù)據(jù)的格式和類型的校驗(yàn),就算傳遞的數(shù)據(jù)類型不符合我們的規(guī)則,從用戶的角度看不會(huì)有影響顯示,但是會(huì)在控制臺(tái)有個(gè)警告提示

更多驗(yàn)證

1,多種類型

props:{
title:[Number,String]
}

2,默認(rèn)值

// 默認(rèn)值
props:{
title:{
// 類型
type:String,
// 默認(rèn)值
default:"我是默認(rèn)值"
}
}

二、逆向傳值

子組件把數(shù)據(jù)傳遞給父組件

逆向傳值默認(rèn)是不允許的 要用自定義事件完成

自定義事件

this.$emit("自定義事件名",“傳遞給自定義事件的數(shù)據(jù)”)

實(shí)現(xiàn)逆向傳值

1,因?yàn)槟嫦騻髦的J(rèn)不允許,需要通過(guò)事件來(lái)觸發(fā)一個(gè)自定義事件拋出

代碼:

<template>
<div>
zizizizizizizi
<button @click="btn()">點(diǎn)擊逆向傳值</button>
</div>
</template>
<script>
export default {
data() {
return {
text:"我是子組件的變量"
}
},
methods: {
btn(){
this.$emit("btn",this.text)
}
},
}
</script>
<style>
</style>

2,在父組件中接收子組件拋出的自定義事件

<template>
<div>
fufufufuufuf-----------{{futext}}
<Zi @btn="fufun"/>
</div>
</template>
<script>
import Zi from "./zi.vue"
export default {
data() {
return {
futext:""
}
},
components:{
Zi
},
methods: {
fufun(val){
console.log(val);
this.futext=val
}
}
}
</script>
<style>
</style>

ref的方式完成:

只需要把ref綁定到組件上

三、同胞傳值/兄弟傳值

low的方式(了解)

兩個(gè)兄弟組件之間需要傳遞數(shù)據(jù),a組件先逆向傳值給父組件,父組件在正向傳值給b組件

中央事件總線 eventBus

中央事件總線就是凌駕在我們需要同胞傳值的組件之上的一個(gè)空的vue實(shí)例

  • eventBus文件夾就是用來(lái)存放中央事件總線這個(gè)實(shí)例的
  • 在新建的文件夾與文件之間創(chuàng)建一個(gè)空的vue實(shí)例
// 1,創(chuàng)建中央事件總線
import Vue from "vue"
export default new Vue

拋出

methods: {
fun(){
eventBus.$emit("apao",this.ziatext)
}
}

接收

$on()監(jiān)聽(tīng)實(shí)例上的自定義事件

$on(“你要監(jiān)聽(tīng)的中自定義時(shí)間是什么”,()=》{

console.log(val)

})

<script>
// 1,引用中央事件總線
import eventBus from "@/eventBus"
export default {
?// 2,通過(guò)生命周期的鉤子函數(shù)來(lái)調(diào)用$on進(jìn)行實(shí)力上自定義事件的監(jiān)聽(tīng)
mounted(){
eventBus.$on("apao",(val)=>{
console.log(val);
})
}
}
</script>

到此這篇關(guān)于淺析vue中的組件傳值的文章就介紹到這了,更多相關(guān)vue組件傳值 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 總結(jié)vue映射的方法與混入的使用過(guò)程

    總結(jié)vue映射的方法與混入的使用過(guò)程

    這篇文章主要介紹了總結(jié)vue映射的方法與混入的使用過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue3中Vant的使用及說(shuō)明

    vue3中Vant的使用及說(shuō)明

    這篇文章主要介紹了vue3中Vant的使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Vue下拉框加分頁(yè)搜索功能的實(shí)現(xiàn)方法

    Vue下拉框加分頁(yè)搜索功能的實(shí)現(xiàn)方法

    開(kāi)發(fā)任務(wù)中有這樣一個(gè)需求,下拉框中需要展示超過(guò)5000條數(shù)據(jù),甚至更多,這數(shù)據(jù)量直接整個(gè)頁(yè)面卡死了,就想到在下拉框中加分頁(yè),下面小編通過(guò)實(shí)例代碼介紹下Vue下拉框加分頁(yè)搜索功能的實(shí)現(xiàn),感興趣的朋友一起看看吧
    2022-11-11
  • VUE響應(yīng)式原理的實(shí)現(xiàn)詳解

    VUE響應(yīng)式原理的實(shí)現(xiàn)詳解

    這篇文章主要為大家詳細(xì)介紹了VUE響應(yīng)式原理的實(shí)現(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-03-03
  • vue3如何加載本地圖片等靜態(tài)資源淺析

    vue3如何加載本地圖片等靜態(tài)資源淺析

    在最近新起的項(xiàng)目中,用到了較新的技術(shù)棧vue3.2+vite+ts,跟著網(wǎng)上的寫法漸漸上手了,下面這篇文章主要給大家介紹了關(guān)于vue3如何加載本地圖片等靜態(tài)資源的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • vue如何在線預(yù)覽各類型文件

    vue如何在線預(yù)覽各類型文件

    這篇文章主要介紹了vue如何在線預(yù)覽各類型文件問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • 基于element日歷組件實(shí)現(xiàn)簽卡記錄

    基于element日歷組件實(shí)現(xiàn)簽卡記錄

    這篇文章主要為大家詳細(xì)介紹了基于element日歷組件實(shí)現(xiàn)簽卡記錄,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • vue使用jsencrypt實(shí)現(xiàn)rsa前端加密的操作代碼

    vue使用jsencrypt實(shí)現(xiàn)rsa前端加密的操作代碼

    這篇文章主要介紹了vue使用jsencrypt實(shí)現(xiàn)rsa前端加密,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • Vue匿名插槽與作用域插槽的合并和覆蓋行為

    Vue匿名插槽與作用域插槽的合并和覆蓋行為

    這篇文章主要介紹了Vue基礎(chǔ)-匿名插槽與作用域插槽的合并和覆蓋行為 ,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-04-04
  • Vue組件如何設(shè)置Props實(shí)例詳解

    Vue組件如何設(shè)置Props實(shí)例詳解

    props主要用于組件的傳值,他的工作就是為了接收外面?zhèn)鬟^(guò)來(lái)的數(shù)據(jù),與data、el、ref是一個(gè)級(jí)別的配置項(xiàng),下面這篇文章主要給大家介紹了關(guān)于Vue組件如何設(shè)置Props的相關(guān)資料,需要的朋友可以參考下
    2022-06-06

最新評(píng)論

时尚| 大安市| 许昌市| 宁晋县| 株洲市| 九龙县| 新源县| 清水县| 衡东县| 东台市| 察雅县| 依安县| 海伦市| 吉林省| 察隅县| 广宁县| 微山县| 镇坪县| 五大连池市| 芦山县| 中宁县| 洛阳市| 司法| 宁津县| 西和县| 上虞市| 永年县| 通州区| 无极县| 汽车| 巧家县| 高州市| 洪江市| 尼勒克县| 江西省| 甘肃省| 都江堰市| 永昌县| 宁明县| 健康| 绥滨县|