Vue中props用法介紹
?前言:
在Vue中通過props,可以將原本孤立的組件串聯(lián)起來,也就是可以子組件可以接收父組件傳遞過來的data,比如子組件想要引用父組件的數(shù)據(jù),那么在props里面聲明一個變量,這個變量就可以引用父元素的數(shù)據(jù)。
實例演示:
子組件:
<template>
<div>
<h3>我是{{name}},今年{{age}}歲,愛好:{{hobby}}</h3>,{{flag}}
</div>
</template>
<script>
export default {
name:'Cpn',
// 簡單接收
/* props:['age','hobby','name'], */
// 聲明要接收的數(shù)據(jù),聲明時對接收的數(shù)據(jù)進(jìn)行限制
props:{
name: {
// 聲明類型
type:String,
//聲明是否必需
require:true,
// 聲明默認(rèn)值
default:'默認(rèn)值'
},
age:{
type:Number,
require:true,
default:18
},
hobby:{
type:String,
require:false
},
flag:{
type:Boolean,
require:false
}
}
}
</script>
父組件:
<template>
<div id="app">
<!-- <cpn name='李明' age="22" hobby="打球"></cpn>
<cpn name="小紅" age="20" hobby="彈琴"></cpn> -->
<cpn name='李明'></cpn>
<cpn hobby="編程" :flag="flag"></cpn>
<!--備注:如果要將當(dāng)前組件data里的數(shù)據(jù)傳遞給子組件,需要通過v-bing:變量名=”變量名“的形式傳遞,如果傳遞的不是data里面的數(shù)據(jù),就不用加綁定指令,即v-bind(可簡寫為:)-->
<button @click="changeFlag">切換</button>
</div>
</template>
<script>
import Cpn from './components/Cpn.vue'
export default {
components: { Cpn },
name: "App",
data() {
return {
flag:false
}
},
methods: {
changeFlag(){
console.log(this.flag)
this.flag=!this.flag;
console.log(this.flag)
}
},
}
</script>
運行上面的程序可以看到,當(dāng)我們通過點擊父組件的按鈕切換某個值時,子組件接收的值也會相應(yīng)變化。

子組件接收父組件的數(shù)據(jù)有兩種接收方式:
- 方式1:簡單接收, 只需要給出所要接收的變量的名字即可
- 方式2: 具體接收,給每個接收的變量選擇性地指明數(shù)據(jù)類型,是否可為空,默認(rèn)值
到此這篇關(guān)于 Vue中props用法介紹的文章就介紹到這了,更多相關(guān) Vue中props用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue3+typescript實現(xiàn)圖片懶加載插件
這篇文章主要介紹了vue3+typescript實現(xiàn)圖片懶加載插件,幫助大家更好的理解和使用vue,感興趣的朋友可以了解下2020-10-10
Vue中使用jsencrypt進(jìn)行RSA非對稱加密的操作方法
這篇文章主要介紹了Vue中使用jsencrypt進(jìn)行RSA非對稱加密,在這里需要注意要加密的數(shù)據(jù)必須是字符串,對Vue?RSA非對稱加密相關(guān)知識感興趣的朋友一起看看吧2022-04-04
Ant Design Vue Pro動態(tài)路由加載,服務(wù)器重啟首頁白屏問題
這篇文章主要介紹了Ant Design Vue Pro動態(tài)路由加載,服務(wù)器重啟首頁白屏問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-10-10

