htmx Idiomorph 扩展

Idiomorph 是 htmx 创建者创建的一种 DOM 变形算法。DOM 变形是一种将现有 DOM 树“变形”为另一棵树的过程,其方式是尽可能多地重复使用现有 DOM 的节点。通过在从一棵树切换到另一棵树时保留节点,你可以在两种状态之间呈现更平滑的过渡。

你可以通过包含 idiomorph 扩展来使用 idiomorph 变形算法作为交换策略。

安装

<script src="https://unpkg.com/[email protected]/dist/idiomorph-ext.min.js"></script>

用法

一旦你引用了 idiomorph 扩展,你就可以使用主体上的名称 morph 进行注册,然后使用 morph、morph:outerHTML 或 morph:innerHTML 作为交换策略。

  • morph 和 morph:outerHTML 将变换目标元素及其子元素
  • morph:innerHTML 只会变换元素的内部子元素,而不影响目标元素
<body hx-ext="morph">

    <button hx-get="/example" hx-swap="morph">
        Morph My Outer HTML
    </button>

    <button hx-get="/example" hx-swap="morph:outerHTML">
        Morph My Outer HTML
    </button>

    <button hx-get="/example" hx-swap="morph:innerHTML">
        Morph My Inner HTML
    </button>

</body>