2019-5-22 seo達人
如果您想訂閱本博客內容,每天自動發(fā)到您的郵箱中, 請點這里
現(xiàn)在我有如下需求,子組件 <user /> 中此時有一條用戶的信息(userInfo);我要在父組件通過插槽展示這個用戶的姓名(userInfo.name);
注意:這里的父組件并沒有這個用戶的信息,子組件中有,如果直接在父組件{{userInfo.name}} 獲取這條信息是獲取不到的;因為,只有 <user /> 組件可以訪問到 userInfo,而我們提供的內容是在父組件渲染的;
模板在哪寫,就是用哪里的變量,跟插槽用在哪無關
模板是在父組件中寫好,被編譯過后,傳到子組件的插槽中的
為了讓父組件的插槽內容可以讀取到子組件的數(shù)據(jù),我們可以將userInfo 作為一個 <slot> 元素的特性綁定上去;
// 子組件
const card = {
data() {
return {
userInfo: {name: '宮鑫'}
}
},
template: `
<div class='card'>
<!-- 在插槽上綁定子組件的數(shù)據(jù) -->
<slot :userInfo="userInfo"/>
</div>
`
};
綁定在 元素上的特性被稱為插槽 prop。現(xiàn)在在父級作用域中,我們可以給v-slot帶一個值來定義我們提供的插槽 prop 的名字:
// 父組件
template: `
<div>
<card>
<template v-slot:default="userInfo">
用戶姓名: {{userInfo}}
</template>
</card>
</div>
`
// 輸出:
// 用戶姓名: { "userInfo": { "name": "宮鑫" } }
藍藍設計( m.ssll180.com )是一家專注而深入的界面設計公司,為期望卓越的國內外企業(yè)提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網(wǎng)站建設 、平面設計服務。