Vue.js - slot

擷取自連結:

Slot 是一種用於內容分配(Content Distribution / Transclusion)的元件,適用於複雜或巢狀元件的實作上,可以想像成是空間預留的方法,在迭代過程中再把內容塞進去。



覺得連結中介紹得不錯:


看完slot用途總結如下:

1. 成為父元件無內容時,子元件能提供備用內容。

2. 用於如v-for的複雜/巢狀元件的塞值上。



第2點從這個連結中才看的出slot的好處:http://blog.jln.co/%E7%AD%86%E8%A8%98-vue.js-slot%E7%9A%84%E6%87%89%E7%94%A8/



拜讀完覺得整篇寫得好精彩!



解決滿大痛點:子元件在資料改變時需更新的時機點,不用相依於使用它的程式,也不用相依它的父元件且兼具效能。 => solution是靠MutationObserver https://developer.mozilla.org/zh-TW/docs/Web/API/MutationObserver完成。



不喜歡有的程式常下很多setTimeout或setInterval這種計時器,造成維護困難及程式運行的不可預測性(這也是想了解FP原因,如果能單看code就預測完程式運行結果是最好的)。

目前自己用原生JS寫的「資料更新後能notify view的機制」是比較陽春方式:靠變數的存取達到異步存取完資料後,通知view去更新。



在Vue.js中大量使用MutationObserver完成自動更新元件資料的機制。因為ECMAScript 5中無法監控到「一個物件是否已增加或已刪除屬性」,因而Vue.js實作$set(key, value)、$add(key, value)及$delete(key, value)達到自動更新效果。





留言

熱門文章