Vue 插槽 slot 學(xué)習(xí)

<template>
    <div class="father">
        <h3>這里是父組件</h3>
        <child>
            <div class="tmpl">
              <span>菜單1</span>
              <span>菜單2</span>
            </div>
        </child>
    </div>
</template>

<template>
    <div class="child">
        <h3>這里是子組件</h3>
    </div>
</template>

看上面的代碼,父模板里面顯示子模板 ,顯示結(jié)果是不會(huì)顯示菜單1 菜單2 的. 那如果想在子模板里面顯示菜單1 菜單2 該怎么辦了呢?

<template>
    <div class="child">
        <h3>這里是子組件</h3>
        <slot></slot>
    </div>
</template>

添加slot 插槽,這就是slot 存在的意義.

插槽分為 匿名插槽,具名插槽,作用域插槽.

匿名插槽
<slot></slot>
具名插槽
<slot name="up"></slot>

作用域插槽
<slot name="up" :data="data"></slot>
 export default {
    data: function(){
      return {
        data: ['zhangsan','lisi','wanwu','zhaoliu','tianqi','xiaoba']
      }
    },
}

什么時(shí)候該用哪個(gè)插槽? 這個(gè)主要看父模板里面想怎么用了.

這是具名插槽的用法,通過名字可以指定想插入哪個(gè)位置

<template>
  <div class="father">
    <h3>這里是父組件</h3>
    <child>
      <div class="tmpl" slot="up">
        <span>菜單1</span>
      </div>
    </child>
  </div>
</template>

<template>
  <div class="child">
    // 具名插槽
    <slot name="up"></slot>
    <h3>這里是子組件</h3>
    <slot></slot>
  </div>
</template>

這是作用域插槽,父模板可以獲取子模板里面的數(shù)據(jù).

<template>
  <div class="father">
    <h3>這里是父組件</h3>
    <!--第一次使用:用flex展示數(shù)據(jù)-->
    <child>
      <template slot-scope="user">
        <div class="tmpl">
          <span v-for="item in user.data">{{item}}</span>
        </div>
      </template>
    </child>
 </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)容

  • 此文基于官方文檔,里面部分例子有改動(dòng),加上了一些自己的理解 什么是組件? 組件(Component)是 Vue.j...
    陸志均閱讀 3,944評(píng)論 5 14
  • 構(gòu)造器 每一個(gè)Vue.js的應(yīng)用都是通過夠構(gòu)造函數(shù)Vue創(chuàng)建的一個(gè)Vue的根實(shí)例。例如: 上述代碼中在實(shí)例化vue...
    61ae56c48fc6閱讀 5,481評(píng)論 2 4
  • 釋義 slot, 解釋為插槽,它是組件的一塊 HTML模板,而這塊模板 顯示與否 以及 如何顯示,取決于父組件。 ...
    心斐閱讀 702評(píng)論 2 2
  • 本文為轉(zhuǎn)載,原文:Vue學(xué)習(xí)筆記入門篇——組件的內(nèi)容分發(fā)(slot) 介紹 為了讓組件可以組合,我們需要一種方式來...
    ChainZhang閱讀 3,337評(píng)論 2 11
  • 把思緒放到山海間 這樣我可以 浪蕩的跋山涉水 理由是尋找我自己 卑鄙的謊言蒙蔽不了任何人的雙眼 掩耳盜鈴這等事還在...
    MOON七閱讀 293評(píng)論 0 0

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