欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

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

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

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

單個(gè) Slot

在子組件內(nèi)使用特殊的<slot>元素就可以為這個(gè)子組件添加一個(gè) 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)容,我將作為默認(rèn)出現(xiàn)</p>\
        </slot>\
      </div>'
    });

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

  </script>

</body>
</html>

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

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

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

具名 Slot

給 <slot> 元素指定一個(gè) name 后可以分發(fā)多個(gè)內(nèi)容,具名 Slot 可以與單個(gè) 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個(gè) <slot> 元素,其中在<div class="main">內(nèi)的<slot> 沒用使用 name 特性,它將作為默認(rèn) slot 出現(xiàn),父組件沒有使用 slot 特性的元素與內(nèi)容都將出現(xiàn)在這里.

如果沒有指定默認(rè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>

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

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

相關(guān)文章

  • Vue computed計(jì)算屬性的使用方法

    Vue computed計(jì)算屬性的使用方法

    這篇文章主要為大家詳細(xì)介紹了Vue computed計(jì)算屬性的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Vue自定義指令上報(bào)Google Analytics事件統(tǒng)計(jì)的方法

    Vue自定義指令上報(bào)Google Analytics事件統(tǒng)計(jì)的方法

    我們經(jīng)常需要接入統(tǒng)計(jì)服務(wù)以方便運(yùn)營(yíng),這篇文章主要介紹了Vue自定義指令上報(bào)Google Analytics事件統(tǒng)計(jì)的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-02-02
  • Vuex的熱更替如何實(shí)現(xiàn)

    Vuex的熱更替如何實(shí)現(xiàn)

    這篇文章主要介紹了Vuex的熱更替如何實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • 詳解Nuxt內(nèi)導(dǎo)航欄的兩種實(shí)現(xiàn)方式

    詳解Nuxt內(nèi)導(dǎo)航欄的兩種實(shí)現(xiàn)方式

    這篇文章主要介紹了詳解Nuxt內(nèi)導(dǎo)航欄的兩種實(shí)現(xiàn)方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • vuex存取值和映射函數(shù)使用說明

    vuex存取值和映射函數(shù)使用說明

    這篇文章主要介紹了vuex存取值和映射函數(shù)使用說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • vue實(shí)現(xiàn)微信分享功能

    vue實(shí)現(xiàn)微信分享功能

    這篇文章主要介為大家詳細(xì)紹了vue實(shí)現(xiàn)微信分享功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • vue實(shí)現(xiàn)員工信息錄入功能

    vue實(shí)現(xiàn)員工信息錄入功能

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)員工信息錄入功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • vue3+Typescript實(shí)現(xiàn)路由標(biāo)簽頁(yè)和面包屑功能

    vue3+Typescript實(shí)現(xiàn)路由標(biāo)簽頁(yè)和面包屑功能

    在使用 Vue.js 開發(fā)后臺(tái)管理系統(tǒng)時(shí),經(jīng)常會(huì)遇到需要使用路由標(biāo)簽頁(yè)的場(chǎng)景,這篇文章主要介紹了vue3+Typescript實(shí)現(xiàn)路由標(biāo)簽頁(yè)和面包屑,需要的朋友可以參考下
    2023-05-05
  • vue 組件中添加樣式不生效的解決方法

    vue 組件中添加樣式不生效的解決方法

    這篇文章主要介紹了vue 組件中添加樣式不生效的解決方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-07-07
  • vue中使用極驗(yàn)驗(yàn)證碼的方法(附demo)

    vue中使用極驗(yàn)驗(yàn)證碼的方法(附demo)

    這篇文章主要介紹了vue中使用極驗(yàn)驗(yàn)證碼的方法(附demo)本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-12-12

最新評(píng)論