vue 組件插槽

一、vue插槽有什么用

插槽語(yǔ)法是vue中實(shí)現(xiàn)內(nèi)容分發(fā)的api,用于復(fù)合組件開發(fā)。該技術(shù)在通用組件庫(kù)開發(fā)中有大量應(yīng)用

二、匿名插槽

// 子組件
<template>
  <div>
    <slot></slot>
  </div>
</template>
// 父組件
<hello-world>
    <p>hello world</p>
</hello-world>

三、具名插槽

// 子組件 一個(gè)不帶 name 的 slot 出口會(huì)帶有隱含的名字default。
<template>
  <div>
    <slot name="header"></slot>
    <slot></slot>
    <slot name="footer"></slot>
  </div>
</template>
// 父組件
<template>
   <div>
      <hello-world>
        <template v-slot:header>
          我是header
        </template>
        <template>
          我是default
        </template>
        <template v-slot:footer>
          我是footer
        </template>
      </hello-world>
   </div>
</template>

四、作用域插槽

有時(shí)讓插槽內(nèi)容能夠訪問子組件中才有的數(shù)據(jù)是很有用的

// 子組件
<template>
  <div>
    <slot name="header" :msg="msg" :val="val"></slot>
    <slot></slot>
    <slot name="footer"></slot>
  </div>
</template>
// 父組件 slotProps可以替換
<template>
   <div>
      <hello-world>
        <template v-slot:header="slotProps">
          {{slotProps.msg}}{{slotProps.val}}
        </template>
        <template>
          我是default
        </template>
        <template v-slot:footer>
          我是footer
        </template>
      </hello-world>
   </div>
</template>
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 編譯作用域 在vue組件中作用域簡(jiǎn)單的說就是: 父組件模板的內(nèi)容在父組件的作用域內(nèi)編譯,子組件模板的內(nèi)容在子組件的...
    羊烊羴閱讀 1,660評(píng)論 0 1
  • 【2019-3-4更新】Vue 2.6+修改了部分語(yǔ)法,對(duì)插槽的使用有了較多的更新。在本文中筆者在相應(yīng)位置給出了更...
    果汁涼茶丶閱讀 10,502評(píng)論 2 36
  • 一、概要 插槽是指把任意內(nèi)容插入指定的位置,而這個(gè)位置使用``作為占位符簡(jiǎn)單的來說就是在組件的某個(gè)節(jié)點(diǎn)內(nèi)預(yù)留一個(gè)位...
    唯老閱讀 870評(píng)論 0 0
  • 什么是組件? 組件 (Component) 是 Vue.js 最強(qiáng)大的功能之一。組件可以擴(kuò)展 HTML 元素,封裝...
    youins閱讀 9,705評(píng)論 0 13
  • 案例一 點(diǎn)亮星星 通過控制tempScore來控制鼠標(biāo)滑過離開的分?jǐn)?shù),當(dāng)點(diǎn)擊確定時(shí),score等于tempScor...
    skydot閱讀 367評(píng)論 0 0

友情鏈接更多精彩內(nèi)容