中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Vue中如何使用slot

發布時間:2021-07-21 14:02:52 來源:億速云 閱讀:125 作者:Leah 欄目:編程語言

這期內容當中小編將會給大家帶來有關Vue中如何使用slot,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

關于slot是這樣說的,

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

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

單個 Slot

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

<!DOCTYPE html><html><head>  <meta charset="utf-8">  <title>示例</title> </head><body> 
  <div id="app">    <child-component>      <p>分發的內容</p>      <p>更多分發的內容</p>    </child-component>  </div>   
  <script src="https://unpkg.com/vue/dist/vue.min.js"></script> 
  <script> 
    Vue.component('child-component', {
      template: '\
      <div>\
        <slot>\
          <p>如果父組件沒用插入內容,我將作為默認出現</p>\
        </slot>\
      </div>'
    });
 
    var app = new Vue({
      el: '#app'
    })
 
  </script> </body></html>

前端全棧學習交流圈:866109386,面向1-3經驗年前端開發人員,幫助突破技術瓶頸,提升思維能力,群內有大量PDF可供自取,更有干貨實戰項目視頻進群免費領取。

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

<div id="app">
   <div>
    <p>分發的內容</p>
    <p>更多分發的內容</p>
  </div></div>

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

具名 Slot

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

<!DOCTYPE html><html><head>  <meta charset="utf-8">  <title>示例</title> </head><body> 
  <div id="app">    <child-component>      <h3 slot="header">標題</h3>      <p>正文內容</p>      <p>更多正文內容</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>

前端全棧學習交流圈:866109386,面向1-3經驗年前端開發人員,幫助突破技術瓶頸,提升思維能力,群內有大量PDF可供自取,更有干貨實戰項目視頻進群免費領取。

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

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

上例最終渲染后的結果為:

div id="app">    <div class="container">
      <div class="header">
        <h3>標題</h3>
      </div>
      <div class="main">
        <p>正文內容</p>
        <p>更多的正文內容</p>
      </div>
      <div class="footer">
        <div>底部信息</div>
      </div>
    </div>
  </div>

上述就是小編為大家分享的Vue中如何使用slot了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新兴县| 同仁县| 新河县| 双流县| 兰坪| 巴中市| 资源县| 得荣县| 建湖县| 崇信县| 洪泽县| 云南省| 抚松县| 威信县| 镇沅| 富顺县| 巴马| 隆化县| 合肥市| 公安县| 美姑县| 仁寿县| 板桥市| 探索| 中阳县| 江山市| 宝丰县| 亚东县| 晴隆县| 咸丰县| 宁海县| 吉林市| 灵武市| 高唐县| 盐山县| 万盛区| 建瓯市| 新津县| 清徐县| 宜昌市| 高尔夫|