vue子組件如何獲取父組件的內(nèi)容(props屬性)
子組件如何獲取父組件的內(nèi)容
props屬性
組件實(shí)例的作用域是孤立的。這意味著不能并且不應(yīng)該在子組件的模板內(nèi)直接引用父組件的數(shù)據(jù)??梢允褂?props 把數(shù)據(jù)傳給子組件。
想要引用父組件需要:
<bbb v-bind:myMsg="msg"></bbb>//子組件將父組件的數(shù)據(jù)msg綁定到myMsg上 bbb:{ ? ? props:{ ? ? ? ? 'myMsg':String ?//綁定數(shù)據(jù)的類型 ? ? } }
注:props也可表達(dá)成如下:props:['myMsg']
完整實(shí)例如下:
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <script src="js/vue.js"></script> </head> <body> <div id="example"> <aaa></aaa> </div> <template id="aaa"> <h1>{{msg}}</h1> //父組件 <bbb :my-msg="msg"></bbb> //子組件 </template> <script> window.onload=function(){ new Vue({ el: '#example', data:{ }, components:{ aaa:{ data:function(){ return{ msg:'我是父組件的數(shù)據(jù)' } }, template:'#aaa', components:{ bbb:{ props:{ 'myMsg':String }, template:'<h2>我是子組件-->{{myMsg}}</h2>' }//當(dāng)html中使用my-msg時,在js中需使用駝峰命名myMsg } } } }) } </script> </body> </html>
最后的結(jié)果如下圖:
vue父→子組件的props傳值
需求1
如果要將自定義屬性里的值傳遞給模板,可以使用props屬性:
寫法注意的地方:
1.props的大小寫:對于html里的短橫線命名,在vue里面要用小駝峰命名法(大駝峰命名介紹:第一個字母也是大寫);
2.template里必須有一個根目錄:
需求2
實(shí)際項(xiàng)目中我們經(jīng)常要將data里面的值傳遞給模板,操作如下:
思路:使用v-bind和data數(shù)據(jù)綁定,將值傳遞到組件的模板里的插值里.
另一個案例:
效果圖:
傳遞的過程總結(jié):準(zhǔn)備一個大的組件(在vue實(shí)例里)和一個子組件son,在son子組件里使用v-bind綁定要傳遞的message屬性,message屬性值是對應(yīng)父組件里的data值,然后在son子組件component方法的第二個參數(shù)的對象里增加一個props屬性(重點(diǎn)是這個props屬性,它是用來接收父組件的值的),值是數(shù)組,里面就填字符串形式的message,最后直接在子組件的模板里用插值的方式使用這個message就可以了.
同時,也要了解子組件同步修改父子組件的值,操作如下:
子組件修改父子組件值的操作過程:
在子組件里定義一個修改的方法,在方法里添加this.$emit()方法,它有兩個參數(shù),第一個是自定義事件名,第二個是要修改的值,接著在父組件里用v-on添加這個自定義事件,值寫父組件方法,在這個方法里用(美元event)作為參數(shù),在父組件方法里接收并操作自己要修改的邏輯操作即可.
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue.js綁定事件監(jiān)聽器示例【基于v-on事件綁定】
這篇文章主要介紹了vue.js綁定事件監(jiān)聽器的方法,結(jié)合實(shí)例形式分析了vue.js基于v-on事件綁定響應(yīng)鼠標(biāo)點(diǎn)擊相關(guān)操作技巧,需要的朋友可以參考下2018-07-07vue3.2+ts實(shí)現(xiàn)在方法中可調(diào)用的擬態(tài)框彈窗(類el-MessageBox)
這篇文章主要介紹了vue3.2+ts實(shí)現(xiàn)在方法中可調(diào)用的擬態(tài)框彈窗(類el-MessageBox),這個需求最主要的是要通過方法去調(diào)用,為了像el-messagebox使用那樣方便,需要的朋友可以參考下2022-12-12vue keep-alive列表頁緩存 詳情頁返回上一頁不刷新,定位到之前位置
這篇文章主要介紹了vue keep-alive列表頁緩存 詳情頁返回上一頁不刷新,定位到之前位置,本文通過實(shí)例代碼效果圖展示給大家介紹的非常詳細(xì),需要的朋友可以參考下2019-11-11關(guān)于echarts?清空上一次加載的數(shù)據(jù)問題
這篇文章主要介紹了關(guān)于echarts?清空上一次加載的數(shù)據(jù)問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-10-10vue?使用addRoutes動態(tài)添加路由及刷新頁面跳轉(zhuǎn)404路由的問題解決方案
我自己使用addRoutes動態(tài)添加的路由頁面,使用router-link標(biāo)簽可以跳轉(zhuǎn),但是一刷新就會自動跳轉(zhuǎn)到我定義的通配符?*?指向的404路由頁面,這說明沒有找到指定路由才跳到404路由的,這樣的情況如何處理呢,下面小編給大家分享解決方案,一起看看吧2023-10-10