前面我們介紹了component以及props今天我們要介紹的是slots
什麼是slots呢?它是利用slot的標籤去把父層的內容傳到子層,而Named Slots顧名思義就是有名字的slot,那為什麼我們需要去命名他呢?因為有時候我們會同時使用到很多個slot,如果他們每個都叫做<slot>
父層就沒有辦法去辨別內容是要傳到哪裡了!
簡單來說我們就是利用slot先把要開的洞開好,在讓外面的資料插進來,在今天的範例中使用了4個slot,分別將他們命名為title, hours, minutes, seconds
那在今天的範例中有兩個時間,你會發現一個會即時更新時間一個只會停在開啟網頁的時間,這是為什麼呢?這是因為用了兩種function去寫的,要讓網頁的時間即時更新需要使用到setInterval
的function,但是要特別注意的是因為setInterval是每秒鐘執行一次所以他會非常耗效能,所以在這種時後我們就需要使用到生命週期銷毀階段的beforeDestory的function去銷毀
介紹到這裡,你可能會想slots和props都是讓東西放進去到底差在哪裡呢?昨天我們說props是開一個固定格式的接口讓你放東西進去,而slots他雖然也是開一個洞給你,不過他不會管你要放什麼東西進去,最後用一台主機來總結一下component, props和slots,主機它就是我們的component,而props就是我們主機上的USB孔,你只能插入USB,但是slots它的洞裡面可以讓你放任何東西進去,像是滑鼠、眼鏡、手錶...各式各樣的東西