hx-inherit
htmx 的預設行為是自動「繼承」許多屬性:也就是說,像是 hx-target 這樣的屬性可以放在父元素上,而所有子元素都會繼承該目標。有些人不喜歡這個功能,他們反而偏好明確指定屬性的繼承。
為了支援這種開發模式,htmx 提供了 htmx.config.disableInheritance
設定,可以將其設定為 false
,以防止繼承成為任何 htmx 屬性的預設行為。
hx-inherit
屬性允許您手動控制屬性的繼承。
htmx 對屬性繼承的評估方式如下:
hx-inherit
設定在父節點上時:inherit="*"
:將啟用此元素的所有屬性繼承。hx-inherit="hx-select hx-get hx-target"
:僅啟用一個或多個指定屬性的繼承。以下範例是一個 div,當 htmx.config.disableInheritance
設定為 false 時,它為一組錨點標籤共享一個 hx-target
屬性。
<div hx-target="#tab-container" hx-inherit="hx-target">
<a hx-boost="true" href="/tab1">Tab 1</a>
<a hx-boost="true" href="/tab2">Tab 2</a>
<a hx-boost="true" href="/tab3">Tab 3</a>
</div>