Htmx 是一个库,它允许你直接从 HTML 访问现代浏览器功能,而不是使用 javascript。
要理解 htmx,首先让我们看一下 HTML 中的 a 标签:
<a href="/blog">Bloga>
这个标记会告诉浏览器:当用户单击此链接时,向 /blog 发出 HTTP GET 请求并将响应内容加载到浏览器窗口中。
然后我们再看下面的 HTML:
<button hx-post="/clicked"
hx-trigger="click"
hx-target="#parent-div"
hx-swap="outerHTML"
>
Click Me!
button>
这告诉 htmx:当用户单击此按钮时,向 /clicked 发出 HTTP POST 请求并使用响应中的内容将元素替换为 id 为 parent-div 的 DOM。
Htmx 将 HTML 的核心思想进行了扩展,为 HTML 语言提供了更多可能性:
- 现在任何元素,不仅仅是超链接和表单,都可以发出 HTTP 请求。
- 现在任何事件,不仅仅是点击或表单提交,都可以触发请求。
- 现在可以使用任何 HTTP verb,而不仅仅是GET 和POST。
- 现在任何元素,不仅仅是整个window 对象,都可以成为请求更新的目标。
请注意,当你使用 htmx 时,在服务器端你通常会使用 HTML 而非 JSON 进行响应。这会让你使用原始 Web 编程模型,使用超文本作为应用程序状态的引擎,甚至你也不需要真正理解这个概念。
另外如果你愿意,可以在使用 htmx 时使用 data- 前缀:
<a data-hx-post="/click">Click Me!a>
安装
Htmx 是一个无依赖、面向浏览器的 JavaScript 库。这意味着使用它就像在文档头部添加一个