hx-inherit

htmx のデフォルトの挙動は、多数の属性を自動的に「継承」することです。つまり、hx-target などの属性は親要素に適用することができ、すべての子要素はそのターゲットを継承します。この機能が気に入らない人もおり、代わりに明確に属性の継承を指定することを好みます。

htmxはこのような開発形態をサポートするために、htmx.config.disableInheritance 設定を提供しています。この設定を false に設定すると、継承が htmx の属性のいずれかに対するデフォルトの挙動になるのを防げます。

hx-inherit 属性を使用すると、属性の継承を手動で制御できます。

htmx は属性の継承を次のように評価します。

htmx.config.disableInheritance が false に設定されている場合、一連のアンカータグに hx-target 属性を共有する div の例は次のようになります。

<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>

メモ