hx-inherithtmx 的默认行为是自动“继承”许多属性:也就是说,诸如 hx-target 等属性可以放置在父元素上,所有子元素将继承该目标。有些人不喜欢此功能,而是更喜欢显式指定属性的继承。
为了支持这种开发模式,htmx 提供了 htmx.config.disableInheritance 设置,可以将其设置为 true 以防止任何 htmx 属性的继承成为默认行为。
hx-inherit 属性允许您手动控制属性的继承。
htmx 按照以下方式评估属性继承:
hx-inherit 时
inherit="*" 将为此元素启用所有属性继承hx-inherit="hx-select hx-get hx-target" 仅为一个或多个指定的属性启用继承以下是一个示例,当 htmx.config.disableInheritance 设置为 false 时,一个 div 为一组锚标签共享 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>