框架整合
我可以在什麼框架上使用 emfont?
你可以在任何框架中使用 emfont!以下是幾個小提醒:
- 元素要保留 emfont 的 class。
- 小元件局部渲染,可以使用
root
參數,只針對那塊重新掃描。 - 動態更新內容後(比如聊天室、編輯器、動態清單)一定要自己再呼叫一次
emfont.init({ root })
。
以下是一些常見框架的範例:
React / Next.js
靜態使用:
元件掛載時只執行一次 emfont.init()
。
動態追蹤:
內文改變時,針對該元素重新 init
。
Vue 3 / Nuxt 3
靜態使用:
元件掛載時執行一次 emfont.init()
。
動態追蹤:
資料改變時,指定元素重新 init
。
Svelte / SvelteKit
靜態使用:
元件初始化時 init
。
動態追蹤:
當文字變動時重新對元素 init
。
Astro
靜態使用:
因為 Astro 預設是 SSR,通常載入一次就夠。
動態追蹤:
如果是使用像 React/Vue 子元件,可以用它們各自的方法(見上)。
Angular
靜態使用:
在元件初始化後執行一次。
動態追蹤:
使用 @ViewChild
搭配 ngAfterViewChecked
重新 init。
SolidJS
靜態使用:
元件載入時執行一次。
動態追蹤:
綁定元素並監聽變數。
Qwik
靜態使用:
用 useVisibleTask$
加載 emfont。
動態追蹤:
監聽元素變動,局部 re-init。
WordPress / 傳統網站
WordPress 可以自訂 HTML,或是在 header.php 或佈景主題中加入:
靜態使用:
在頁面 HTML 完成後一次初始化。
然後在文章或小工具內使用 class="emfont-xxxx" 即可。
動態追蹤:
內文手動更新後,針對該元素重新 init。