Vue3.0破壞性變化----$slots

假設我們有這樣一個組件窃判,分別看一下他們在vue2.0和vue3.0輸出的區(qū)別:

// 子組件comp.vue
<script>
  export default{
    mounted(){
      console.log(this.$slots);
      console.log(this.$scopedSlots);
    }
  }
</script>

// 父組件parent.vue
<comp>
  <div>child1</div>
  <div>child2</div>
  <div>child3</div>
  <div>child4</div>
  <template>默認插槽</template>  
  <template v-slot:content>具名插槽content</template>
  <template v-slot:test>具名插槽test</template>
</comp>

在vue2.0中輸出如下

this.$slots

從下面輸出的結果我們可以看出this.$slots輸出一個對象囱井,這個對象包含了默認插槽具名插槽磅摹,每個屬性的值就是一個由vnode組成的數(shù)組

image.png

this.$scopedSlots

從下面的輸出結果我們可以看出护赊,this.$scopedSlots這個對象包含了具名插槽默認插槽动壤,只不過每個屬性的值是一個函數(shù)乞封,執(zhí)行一下這個函數(shù)就能得到對應的vnode組成的數(shù)組

image.png


在vue3.0中鳖孤,輸出如下

  • 移除了this.$scopedSlots這個api,將默認插槽和具名插槽全部放在了this.$slots里面,
this.$slots

我們看見vue3.0中this.$slots輸出的是一個proxy對象绪颖,具名插槽默認插槽跟vue2.0的this.$scopedSlots一樣都是一個函數(shù)秽荤,執(zhí)行完得到一個vnode組成的數(shù)組,

image.png

Vue2.0和vue3.0還有一個區(qū)別就是vnode結構的不同

vue2.0的vnode結構
vue3.0的vnode結構

簡單來總結一下

<comp>
  <div label="標簽">
    <p>這是一段文本</p>
  </div>
</comp>

標簽上的屬性像label這種

  • 在vue2.0中柠横,被解析到this.$slots.default[0].data.attrs這個對象中
  • 在vue3.0中窃款,被解析到this.$slots.default()[0].props這個對象中

像這個組件的默認插槽里面還有默認插槽

  • 在vue2.0中,會被解析到this.$slots.default[0].data.scopedSlots這個對象中
  • 在vue3.0中牍氛,會被解析到this.$slots.default()[0].children這個數(shù)組中
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末晨继,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子搬俊,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件趴拧,死亡現(xiàn)場離奇詭異,居然都是意外死亡扩淀,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進店門啤挎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來驻谆,“玉大人,你說我怎么就攤上這事庆聘∈る” “怎么了?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵伙判,是天一觀的道長象对。 經(jīng)常有香客問我,道長宴抚,這世上最難降的妖魔是什么勒魔? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮菇曲,結果婚禮上冠绢,老公的妹妹穿的比我還像新娘。我一直安慰自己常潮,他們只是感情好弟胀,可當我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著喊式,像睡著了一般孵户。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上岔留,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天夏哭,我揣著相機與錄音,去河邊找鬼贸诚。 笑死方庭,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的酱固。 我是一名探鬼主播,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼头朱,長吁一口氣:“原來是場噩夢啊……” “哼运悲!你這毒婦竟也來了?” 一聲冷哼從身側響起项钮,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤班眯,失蹤者是張志新(化名)和其女友劉穎希停,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體署隘,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡宠能,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了磁餐。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片违崇。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖诊霹,靈堂內(nèi)的尸體忽然破棺而出羞延,到底是詐尸還是另有隱情,我是刑警寧澤脾还,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布伴箩,位于F島的核電站,受9級特大地震影響鄙漏,放射性物質(zhì)發(fā)生泄漏嗤谚。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一怔蚌、第九天 我趴在偏房一處隱蔽的房頂上張望呵恢。 院中可真熱鬧,春花似錦媚创、人聲如沸渗钉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鳄橘。三九已至,卻和暖如春芒炼,著一層夾襖步出監(jiān)牢的瞬間瘫怜,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工本刽, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留鲸湃,地道東北人。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓子寓,卻偏偏與公主長得像暗挑,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子斜友,可洞房花燭夜當晚...
    茶點故事閱讀 42,834評論 2 345

推薦閱讀更多精彩內(nèi)容