HTMX 开源项目教程
awesome-htmxAwesome things about htmx项目地址:https://gitcode.com/gh_mirrors/aw/awesome-htmx
项目介绍
HTMX 是一个允许你在 HTML 中直接使用 AJAX、CSS 过渡、WebSockets 和服务器发送事件等现代前端技术的库。通过在 HTML 中使用属性,HTMX 使得构建现代用户界面变得简单而强大。HTMX 没有任何外部依赖,只需要在 HTML 的 <head>
部分引用一个 vanilla JavaScript 文件。
项目快速启动
安装 HTMX
首先,你需要在你的项目中引入 HTMX。你可以通过以下方式在 HTML 文件中引入 HTMX:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>HTMX 示例</title>
<script src="https://unpkg.com/htmx.org@1.5.0"></script>
</head>
<body>
<!-- 你的 HTML 内容 -->
</body>
</html>
基本示例
以下是一个简单的 HTMX 示例,展示了如何通过点击按钮来加载服务器数据:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>HTMX 示例</title>
<script src="https://unpkg.com/htmx.org@1.5.0"></script>
</head>
<body>
<div hx-get="https://api.example.com/data" hx-trigger="click" hx-target="#result">
<button>加载数据</button>
</div>
<div id="result"></div>
</body>
</html>
在这个示例中,点击按钮会触发一个 AJAX 请求到 https://api.example.com/data
,并将响应内容插入到 #result
元素中。
应用案例和最佳实践
动态表单
HTMX 可以用于创建动态表单,例如在用户输入时实时验证表单字段:
<form hx-post="/validate" hx-trigger="change" hx-target="#validationResult">
<input type="text" name="username" hx-trigger="keyup" hx-indicator=".indicator">
<div id="validationResult"></div>
</form>
实时搜索
使用 HTMX 实现实时搜索功能,当用户输入时,动态加载搜索结果:
<input type="text" name="search" hx-get="/search" hx-trigger="keyup changed delay:500ms" hx-target="#searchResults">
<div id="searchResults"></div>
典型生态项目
Django 集成
HTMX 可以与 Django 框架无缝集成,提供丰富的动态前端功能:
# settings.py
INSTALLED_APPS = [
...
'django_htmx',
...
]
MIDDLEWARE = [
...
'django_htmx.middleware.HtmxMiddleware',
...
]
Spring Boot 集成
HTMX 也可以与 Spring Boot 和 Thymeleaf 集成,提供强大的后端支持:
@Controller
public class HtmxController {
@GetMapping("/example")
public String example(Model model) {
model.addAttribute("message", "Hello, HTMX!");
return "example";
}
}
通过这些集成,你可以利用 HTMX 的强大功能来构建动态和响应式的 Web 应用。
awesome-htmxAwesome things about htmx项目地址:https://gitcode.com/gh_mirrors/aw/awesome-htmx