Vue中props用法介紹
前言:
在Vue中通過props,可以將原本孤立的組件串聯起來,也就是可以子組件可以接收父組件傳遞過來的data,比如子組件想要引用父組件的數據,那麼在props裡面聲明一個變量,這個變量就可以引用父元素的數據。
實例演示:
子組件:
<template> <div> <h3>我是{{name}},今年{{age}}歲,愛好:{{hobby}}</h3>,{{flag}} </div> </template> <script> export default { name:'Cpn', // 簡單接收 /* props:['age','hobby','name'], */ // 聲明要接收的數據,聲明時對接收的數據進行限制 props:{ name: { // 聲明類型 type:String, //聲明是否必需 require:true, // 聲明默認值 default:'默認值' }, 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> <!--備註:如果要將當前組件data裡的數據傳遞給子組件,需要通過v-bing:變量名=”變量名“的形式傳遞,如果傳遞的不是data裡面的數據,就不用加綁定指令,即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>
運行上面的程序可以看到,當我們通過點擊父組件的按鈕切換某個值時,子組件接收的值也會相應變化。
子組件接收父組件的數據有兩種接收方式:
- 方式1:簡單接收, 隻需要給出所要接收的變量的名字即可
- 方式2: 具體接收,給每個接收的變量選擇性地指明數據類型,是否可為空,默認值
到此這篇關於 Vue中props用法介紹的文章就介紹到這瞭,更多相關 Vue中props用法內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Vue之props 配置詳解
- Vue組件之間的通信你知道多少
- Vue子組件props從父組件接收數據並存入data
- vue父子組件進行通信方式原來是這樣的
- vue $attrs和$listeners的使用與區別