hx-disinherit

htmx의 κΈ°λ³Έ λ™μž‘μ€ λ§Žμ€ 속성을 μžλ™μœΌλ‘œ β€œμƒμ†β€œν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. 즉, hx-targetκ³Ό 같은 속성은 λΆ€λͺ¨ μš”μ†Œμ— 배치될 수 있으며, λͺ¨λ“  μžμ‹ μš”μ†ŒλŠ” ν•΄λ‹Ή λŒ€μƒμ„ μƒμ†λ°›μŠ΅λ‹ˆλ‹€.

hx-disinherit 속성은 μ΄λŸ¬ν•œ μžλ™ 속성 상속을 μ œμ–΄ν•  수 있게 ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, νŽ˜μ΄μ§€μ˜ body μš”μ†Œμ— hx-boostλ₯Ό λ°°μΉ˜ν–ˆλŠ”λ°, νŽ˜μ΄μ§€μ˜ νŠΉμ • λΆ€λΆ„μ—μ„œ ν•΄λ‹Ή λ™μž‘μ„ λ¬΄μ‹œν•˜κ³  더 ꡬ체적인 λ™μž‘μ„ ν—ˆμš©ν•΄μ•Όν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

htmxλŠ” 속성 상속을 λ‹€μŒκ³Ό 같이 ν‰κ°€ν•©λ‹ˆλ‹€:

<div hx-boost="true" hx-select="#content" hx-target="#content" hx-disinherit="*">
  <a href="/page1">Go To Page 1</a> <!-- μœ„μ˜ 속성 μ„€μ •μœΌλ‘œ λΆ€μŠ€νŠΈλ¨ -->
  <a href="/page2" hx-boost="unset">Go To Page 1</a> <!-- λΆ€μŠ€νŠΈλ˜μ§€ μ•ŠμŒ -->
  <button hx-get="/test" hx-target="this"></button> <!-- hx-selectλŠ” μƒμ†λ˜μ§€ μ•ŠμŒ -->
</div>
<div hx-boost="true" hx-select="#content" hx-target="#content" hx-disinherit="hx-target">
  <!-- hx-selectλŠ” λΆ€λͺ¨μ˜ κ°’μœΌλ‘œ μžλ™ 섀정됨; hx-target은 μƒμ†λ˜μ§€ μ•ŠμŒ -->
  <button hx-get="/test"></button>
</div>
<div hx-select="#content">
  <div hx-boost="true" hx-target="#content" hx-disinherit="hx-select">
    <!-- hx-target은 λΆ€λͺ¨μ˜ κ°’μœΌλ‘œ μžλ™ 상속됨 -->
    <!-- hx-selectλŠ” μƒμ†λ˜μ§€ μ•ŠμŒ, 직접 λΆ€λͺ¨κ°€ 상속을 λΉ„ν™œμ„±ν™”ν•˜κΈ° λ•Œλ¬Έ
    비둝 μžμ‹ μ΄ hx-selectλ₯Ό μ§€μ •ν•˜μ§€ μ•Šμ•˜μ–΄λ„ -->
    <button hx-get="/test"></button>
  </div>
</div>

Notes