vue - 作用域插槽

作用域插槽:可從子組件獲取數(shù)據(jù)的可復(fù)用的插槽
作用域是子組件本身綁定的數(shù)據(jù)
場(chǎng)景:典型代表性 - 列表組件 【child 組件做列表的循環(huán)(ul),列表中的每一項(xiàng)如何顯示并不關(guān)心,顯示由外部決定,外部組件調(diào)用chlid,需要向子組件傳遞slot(li),告知子組件如何顯示列表的每一項(xiàng)】【既可以復(fù)用子組件的slot,又可以使slot內(nèi)容不一致】

  // child.vue
  <template>
    <!-- <div v-for="user in users"> ... </div> -->
    <ul>
       <slot v-for="user in users" :user="user" name="user"></slot>
    </ul>
  </template>
  <script>
    export default {
      props: {
        users: { // 也可內(nèi)部data自定義
            type: Array,
             default () { return []}
        }
      }
    }
  </script>

  // father.vue
  <template>
      <child :users="users">
        <template slot="user" slot-scopr="slotProps">
          <li>name: {{ slotProps.user.name }} & age: {{ slotProps.user.age}}</li>
        </template>
      </child>
  </template>
  <script>
    export default {
      data() {
        return {
            users: [ {name: 'tom', age: '20'}]
      }
    }
  </script>
?著作權(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)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 前言 在網(wǎng)上搜了很多關(guān)于作用域插槽的解釋?zhuān)杏X(jué)沒(méi)有寫(xiě)得很具體的吧,我認(rèn)為應(yīng)該對(duì)組件化有很深的理解才會(huì)觸及到這個(gè)問(wèn)題...
    前端司南閱讀 25,346評(píng)論 15 40
  • 首先簡(jiǎn)單說(shuō)下為什么要使用作用域插槽,有時(shí)候需要組件帶有一個(gè)可從子組件獲取數(shù)據(jù)的可復(fù)用的插槽。 下面還是通過(guò)例子來(lái)講...
    清風(fēng)伴我行閱讀 1,034評(píng)論 0 0
  • 看文檔的時(shí)候總會(huì)懵逼 找了其他大佬的博客看了一下 發(fā)現(xiàn)還是"俗" 一點(diǎn)的解釋比較適合我 作用域插槽是啥? 官方一...
    const_express閱讀 5,249評(píng)論 4 2
  • 作用域插槽是一種特殊類(lèi)型的插槽,用作使用一個(gè) (能夠傳遞數(shù)據(jù)到) 可重用模板替換已渲染元素。 在子組件中,只需將數(shù)...
    Ren_YC閱讀 416評(píng)論 0 0
  • 什么是組件? 組件 (Component) 是 Vue.js 最強(qiáng)大的功能之一。組件可以擴(kuò)展 HTML 元素,封裝...
    youins閱讀 9,699評(píng)論 0 13

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