目錄
Alpine.js是甚麼
Alpine.js是一個輕量
的JS框架,作者是Laravel Livewire的作者,他聲稱Alpine.js是現代版的jQuery
Laravel Livewire的作者早年也寫Vue,所以在Alpine借鑑了
許多Vue
的語法
寫過Vue的人應該能滿快上手的,但相應的缺點就是常會把x寫成v而不自覺😂
Alpine還有幾個特色
1.響應式
框架
2.不使用虛擬 DOM
所以較輕量
可重複使用的組件
根據Does Alpine have a concept of components?中提到的,目前alpine.js並不支援
,未來應該也不打算支援
但是如果需要的話,搭配alpinejs-component還是可以做出來的
stackover flow的bug
這應該是我試寫到目前覺得最勸退的點
在Uncaught RangeError: Maximum call stack size exceeded中發文者提到他使用axios撈資料,然後傳給chart.js,卻發生stackover flow
除了chart.js
,也有人提到巢狀結構組件
也可能觸發這個bug
,而且更慘的是3.13.3的現在似乎沒有workaround可以處理這個問題
上方的這個例子,如果放慢點選速度的話可以正常執行
但是一旦按得比較快就會整個crash
參考資料
Alpine.js
Does Alpine have a concept of components?
Uncaught RangeError: Maximum call stack size exceeded