最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue slot用法(小結(jié))

 更新時間:2018年10月22日 09:02:19   作者:一葉扁舟丶  
這篇文章主要介紹了Vue slot用法(小結(jié)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

之前看官方文檔,由于自己理解的偏差,不知道slot是干嘛的,看到小標(biāo)題,使用Slot分發(fā)內(nèi)容,就以為 是要往下派發(fā)內(nèi)容。然后就沒有理解插槽的概念。其實說白了,使用slot就是先圈一塊地,將來可能種花種菜,也有可能在這塊地上建房子。然而slot可以以一當(dāng)十,可以插入很多東西。不知明白否?

由于項目經(jīng)驗有限,這篇我就先跟著官網(wǎng)的知識點走,當(dāng)然會加入自己的部分項目代碼。

關(guān)于slot是這樣說的,

除非子組件模板包含至少一個 <slot> 插口,否則父組件的內(nèi)容將會被丟棄。當(dāng)子組件模板只有一個沒有屬性的 slot 時,父組件整個內(nèi)容片段將插入到 slot 所在的 DOM 位置,并替換掉 slot 標(biāo)簽本身。

最初在 <slot> 標(biāo)簽中的任何內(nèi)容都被視為備用內(nèi)容。備用內(nèi)容在子組件的作用域內(nèi)編譯,并且只有在宿主元素為空,且沒有要插入的內(nèi)容時才顯示備用內(nèi)容。

單個 Slot

在子組件內(nèi)使用特殊的<slot>元素就可以為這個子組件添加一個 slot (插槽),在父組件模板里,插入在子組件標(biāo)簽內(nèi)的所有內(nèi)容將替代子組件的<slot>標(biāo)簽及它的內(nèi)容.示例代碼如下:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>示例</title>

</head>
<body>

  <div id="app">
    <child-component>
      <p>分發(fā)的內(nèi)容</p>
      <p>更多分發(fā)的內(nèi)容</p>
    </child-component>
  </div>
  
  <script src="https://unpkg.com/vue/dist/vue.min.js"></script>

  <script>

    Vue.component('child-component', {
      template: '\
      <div>\
        <slot>\
          <p>如果父組件沒用插入內(nèi)容,我將作為默認出現(xiàn)</p>\
        </slot>\
      </div>'
    });

    var app = new Vue({
      el: '#app'
    })

  </script>

</body>
</html>

子組件 child-component 的模板內(nèi)定義一個 <slot> 元素,并且用一個 <p> 作為默認的內(nèi)容,在父組件沒有使用 slot 時,會渲染這段默認的文本;如果寫入了 slot ,那就會替換整個 <slot>.所以上列渲染后的結(jié)果為:

<div id="app">
   <div>
    <p>分發(fā)的內(nèi)容</p>
    <p>更多分發(fā)的內(nèi)容</p>
  </div>
</div>

注意:子組件<slot>內(nèi)的備用內(nèi)容,它的作用域時子組件本身.

具名 Slot

給 <slot> 元素指定一個 name 后可以分發(fā)多個內(nèi)容,具名 Slot 可以與單個 Slot 共存,例如下面的示例:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>示例</title>

</head>
<body>

  <div id="app">
    <child-component>
      <h2 slot="header">標(biāo)題</h2>
      <p>正文內(nèi)容</p>
      <p>更多正文內(nèi)容</p>
      <div slot="footer">底部信息</div>
    </child-component>
  </div>
  
  <script src="https://unpkg.com/vue/dist/vue.min.js"></script>

  <script>

    Vue.component('child-component', {
      template: '\
      <div class="component">\
        <div class="header">\
          <slot name="header"></slot>\
        </div>\
        <div class="main">\
          <slot></slot>\
        </div>\
        <div class="footer">\
          <slot name="footer"></slot>\
        </div>\
      </div>'
    });

    var app = new Vue({
      el: '#app'
    })

  </script>

</body>
</html>

子組件內(nèi)聲明了3個 <slot> 元素,其中在<div class="main">內(nèi)的<slot> 沒用使用 name 特性,它將作為默認 slot 出現(xiàn),父組件沒有使用 slot 特性的元素與內(nèi)容都將出現(xiàn)在這里.

如果沒有指定默認的匿名 slot, 父組件內(nèi)多余的內(nèi)容片段都將被拋棄.

上例最終渲染后的結(jié)果為:

<div id="app">
    <div class="container">
      <div class="header">
        <h2>標(biāo)題</h2>
      </div>
      <div class="main">
        <p>正文內(nèi)容</p>
        <p>更多的正文內(nèi)容</p>
      </div>
      <div class="footer">
        <div>底部信息</div>
      </div>
    </div>
  </div>

在組合使用組件時,內(nèi)容分發(fā)API至關(guān)重要.

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue實現(xiàn)動態(tài)樣式的多種方法匯總

    Vue實現(xiàn)動態(tài)樣式的多種方法匯總

    本文要給大家介紹Vue實現(xiàn)動態(tài)樣式的多種方法,下面給大家?guī)韼讉€案列,需要的朋友可以借鑒研究一下。
    2021-06-06
  • vue中使用rem布局代碼詳解

    vue中使用rem布局代碼詳解

    在本篇文章里小編給大家整理的是關(guān)于vue中使用rem布局代碼詳解知識點,需要的朋友們參考下。
    2019-10-10
  • vue+jsplumb實現(xiàn)連線繪圖

    vue+jsplumb實現(xiàn)連線繪圖

    這篇文章主要為大家詳細介紹了vue+jsplumb實現(xiàn)連線繪圖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Vue3使用中這些坑你都踩過嗎

    Vue3使用中這些坑你都踩過嗎

    Vue3?目前已經(jīng)趨于穩(wěn)定,不少代碼庫都已經(jīng)開始使用它,很多項目未來也必然要遷移至Vue3,本文記錄了使用Vue3時遇到的一些問題,希望能對大家有所幫助
    2023-09-09
  • vue實現(xiàn)父子組件雙向綁定的方法總結(jié)

    vue實現(xiàn)父子組件雙向綁定的方法總結(jié)

    Vue.js 是一種流行的 JavaScript 框架,它提供了一種簡單且高效的方式來構(gòu)建用戶界面,在 Vue 中,父子組件之間的雙向綁定是一種常見的需求,下面我們就來學(xué)習(xí)一下vue中父子組件雙向綁定的常用方法吧
    2023-10-10
  • vue在外部方法給下拉框賦值后不顯示label的解決

    vue在外部方法給下拉框賦值后不顯示label的解決

    這篇文章主要介紹了vue在外部方法給下拉框賦值后不顯示label的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue中漸進過渡效果實現(xiàn)

    vue中漸進過渡效果實現(xiàn)

    這篇文章主要為大家詳細介紹了vue中漸進過渡效果的實現(xiàn)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • vue3 ref獲取不到子組件的解決方法

    vue3 ref獲取不到子組件的解決方法

    在父組件內(nèi)調(diào)用子組件內(nèi)的事件從而改變子組件的某些狀態(tài),父子組件使用<script setup>語法糖,父組件通過給子組件定義ref訪問其內(nèi)部事件,本文給大家介紹了vue3 ref獲取不到子組件的解決方法,需要的朋友可以參考下
    2024-06-06
  • Vue 3自定義指令開發(fā)的相關(guān)總結(jié)

    Vue 3自定義指令開發(fā)的相關(guān)總結(jié)

    這篇文章主要介紹了Vue 3自定義指令開發(fā)的相關(guān)總結(jié),幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下
    2021-01-01
  • 基于vue cli重構(gòu)多頁面腳手架過程詳解

    基于vue cli重構(gòu)多頁面腳手架過程詳解

    本文分步驟給大家介紹了基于vue cli重構(gòu)多頁面腳手架過程,非常不錯,具有參考借鑒價值,需要的朋友參考下
    2018-01-01

最新評論

界首市| 八宿县| 盈江县| 贵溪市| 清镇市| 张家川| 阿尔山市| 栖霞市| 贺兰县| 响水县| 沙洋县| 丽江市| 汽车| 新和县| 当雄县| 娄烦县| 南木林县| 清河县| 乌鲁木齐市| 景洪市| 禄丰县| 淮安市| 汉源县| 全州县| 墨竹工卡县| 甘泉县| 汉川市| 措勤县| 金坛市| 贵溪市| 东辽县| 监利县| 高州市| 江北区| 竹山县| 奉节县| 普兰县| 澄江县| 新乐市| 鸡泽县| 道孚县|