Skip to main content

AlpineJS

  • alpinejs/alpine 是什么?
    • 通过在纯 HTML 中添加控制属性来驱动页面的框架
    • 语法类似 Vue 但不需要额外编译、脚本等
    • 相当于增强 HTML 语法
    • 配合 tailwind 在不需要额外 js 的前提下即可实现较为丰富的前端
  • 参考
caution
  • 位置与 React 等框架相同,因此不易共存 - React 可以通过 dangerouslySetInnerHTML 使用 alpinejs
<!-- 引入 -->
<script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js"></script>

<!-- 定义数据/状态 -->
<div x-data="{ open: false }">
<!-- 事件驱动 -->
<button @click="open = true">Open Dropdown</button>
<!-- 状态控制 -->
<ul x-show="open" @click.away="open = false">
Dropdown Body
</ul>
</div>

<!-- init 请求后台数据 -->
<div x-data="{ posts: [] }" x-init="posts = await (await fetch('/posts')).json()"></div>