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ù)進行限制 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-10Vue中使用jsencrypt進行RSA非對稱加密的操作方法
這篇文章主要介紹了Vue中使用jsencrypt進行RSA非對稱加密,在這里需要注意要加密的數(shù)據(jù)必須是字符串,對Vue?RSA非對稱加密相關(guān)知識感興趣的朋友一起看看吧2022-04-04Ant Design Vue Pro動態(tài)路由加載,服務(wù)器重啟首頁白屏問題
這篇文章主要介紹了Ant Design Vue Pro動態(tài)路由加載,服務(wù)器重啟首頁白屏問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-10-10