真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

vue中怎么使用slot分發(fā)內(nèi)容-創(chuàng)新互聯(lián)

這篇文章將為大家詳細講解有關(guān)vue中怎么使用slot分發(fā)內(nèi)容,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

為山亭等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及山亭網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為做網(wǎng)站、成都做網(wǎng)站、山亭網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

一、什么是slot

在使用組件時,我們常常要像這樣組合它們:


 
 

當需要讓組件組合使用,混合父組件的內(nèi)容與子組件的模板時,就會用到slot , 這個過程叫作內(nèi)容分發(fā)( transclusion )。

注意兩點:

1.< app>組件不知道它的掛載點會有什么內(nèi)容。掛載點的內(nèi)容是由<app >的父組件決定的。

2. 組件很可能有它自己的模板。

props 傳遞數(shù)據(jù)、events 觸發(fā)事件和slot 內(nèi)容分發(fā)就構(gòu)成了Vue 組件的3 個API 來源,再復雜的組件也是由這3 部分構(gòu)成的。

 二、作用域


 {{ message }}

這里的message 就是一個slot ,但是它綁定的是父組件的數(shù)據(jù),而不是組件<child-component>的數(shù)據(jù)。

父組件模板的內(nèi)容是在父組件作用域內(nèi)編譯,子組件模板的內(nèi)容是在子組件作用域內(nèi)編譯。如:

   
      
    
Vue.component('child-component',{   template: '
子組件
' }); var app15 = new Vue({   el: '#app15',   data: {     showChild: true   } });

這里的狀態(tài)showChild 綁定的是父組件的數(shù)據(jù),如果想在子組件上綁定,那應該是:


      
    
Vue.component('child-component',{   template: '子組件
',   data: function(){     return {       showChild: true     }   } });

因此, slot 分發(fā)的內(nèi)容,作用域是在父組件上的。

三、slot用法

3.1 單個slot

在子組件內(nèi)使用特殊的<slot>元素就可以為這個子組件開啟一個slot(插槽),在父組件模板里,插入在子組件標簽內(nèi)的所有內(nèi)容將替代子組件的 標簽及它的內(nèi)容。   

 
      
        

分發(fā)的內(nèi)容

        

更多分發(fā)的內(nèi)容

      
     Vue.component('my-component16',{   template: '
' +         '

如果父組件沒有插入內(nèi)容,我將作為默認出現(xiàn)<

' +    //預留的slot插槽        '
' }); var app16 = new Vue({   el: '#app16' });

渲染結(jié)果為:


  
    

分發(fā)的內(nèi)容

    

更多分發(fā)的內(nèi)容

  

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

3.2具名slot

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

  
      
        標題
        

正文內(nèi)容

        

更多正文內(nèi)容

        底部信息       
     Vue.component('my-component17',{   template: '' +          '' +           '' +          '' +          '' +           '' +          ''+          '' +           '' +          ''+        '' }); var app17 = new Vue({   el: '#app17' });

渲染結(jié)果為:         

 
        
          
            

標題

                        

正文內(nèi)容

              

更多正文內(nèi)容

                                    

底部信息

                          

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

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

四、作用域插槽

作用域插槽是一種特殊的slot ,使用一個可以復用的模板替換己渲染元素。

看一個例子:     

 
      
        
          

來自父組件的內(nèi)容

          

{{props.msg}}

               
     Vue.component('my-component18',{   template: '' }); var app18 = new Vue({   el: '#app18' });

觀察子組件的模板,在元素上有一個類似props 傳遞數(shù)據(jù)給組件的寫法msg=” xxx ”,將數(shù)據(jù)傳到了插槽。

父組件中使用了<template>元素,而且擁有一個scope=”props ”的特性,這里的props只是一個臨時變量,就像v-for= ” item in items 里面的item 一樣,template 內(nèi)可以通過臨時變量props訪問來自子組件插槽的數(shù)據(jù)msg 。

下面看下Vue組件中slot的用法

主要是讓組件的可擴展性更強。

1. 使用匿名slot

vue中怎么使用slot分發(fā)內(nèi)容

2. 給slot加個名字

vue中怎么使用slot分發(fā)內(nèi)容

關(guān)于vue中怎么使用slot分發(fā)內(nèi)容就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


分享文章:vue中怎么使用slot分發(fā)內(nèi)容-創(chuàng)新互聯(lián)
URL標題:http://weahome.cn/article/pjshi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部