本指南旨在提供 htmx 中「Hotwire 等效」功能的常見實踐方法。
<body hx-boost="true">
啟用類似 Turbo Drive 的體驗。請參閱:hx-boosthx-boost
將繼續運作。請參閱:漸進增強hx-boost="false"
等同於 data-turbo="false"
,用於禁用特定連結或表單上的 boost。請參閱:手冊hx-target="body" hx-swap="outerHTML" hx-push-url="true"
請參閱:手冊<form>
不會提交禁用的欄位。請參閱:MDN:disabledaddEventListener("submit", (event) => {
event.target.querySelectorAll("button").forEach(node => { node.disabled = true })
})
addEventListener("htmx:afterOnLoad", (event) => {
event.target.querySelectorAll("button").forEach(node => { node.disabled = false })
})
hx-on:submit= 'event.target.querySelectorAll("button").forEach(node => { node.disabled = true })'
hx-on:htmx:afterOnLoad= 'event.target.querySelectorAll("button").forEach(node => { node.disabled = false })'
_="on submit toggle @disabled <button/> in me until htmx:afterOnLoad"
請參閱:食譜<turbo-frame>
。hx-trigger="load, submit"
請參閱:手冊<turbo-stream>
,也不需要 <template>
。<turbo-frame> .. </turbo-frame>
中包裹的內容。htmx:config-request
等同於 turbo:before-fetch-request
請參閱:手冊htmx:config-request
與 htmx:configRequest
相同 請參閱:事件命名document.body.addEventListener('htmx:configRequest', (event) => {
event.detail.headers['Authorization'] = `Bearer ${token}`
})
hx-trigger="submit[action(target)]"
hx-on:click="event.preventDefault(); action(this); htmx.trigger(this, 'ready')"
hx-trigger="ready"
_="on submit halt the event action(target) trigger ready"
hx-trigger="ready"
fetch
。請參閱:非同步透明度