You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Alpine.js实现for循环并动态显示条目标题失败问题

Alpine.js x-for循环不显示内容的解决方法

你的问题主要出在两个关键细节上:

1. 缺少Alpine作用域标识

Alpine.js的指令(比如x-for)必须在带有x-data的元素内部才能生效。你当前的x-for所在的<div>没有被Alpine识别为作用域,导致循环逻辑根本没执行。

解决方法:给包含x-for的元素加上x-data="{}",让Alpine接管这个区域:

<div class="content__mid" x-data="{}" x-for="item in $store.products.items" :key="item.id">
    <p class="content__mid-item" x-text="item.title"></p>
</div>

2. HTML注释格式错误

你在HTML里用了// html和// the content is empty here这种JS单行注释,HTML里应该用<!-- 注释内容 -->格式,否则会导致浏览器解析出错,影响Alpine正常运行。

修正后的完整代码:

<div class="content__mid" x-data="{}" x-for="item in $store.products.items" :key="item.id">
    <p class="content__mid-item" x-text="item.title"></p> <!-- 这里改为HTML注释格式 -->
</div>

<script>
document.addEventListener('alpine:init', () => {
    Alpine.store('products', {
        items: [
            {
                id: 1,
                title: 'Aspirin',
                country: 'USA',
                manufacturer: 'Bangladesh',
                price: '120',
                validDate: '02.10.2024'
            },
            {
                id: 2,
                title: 'Aspirin',
                country: 'Italy',
                manufacturer: 'Bangladesh',
                price: '120',
                validDate: '02.10.2024'
            },
            {
                id: 3,
                title: 'Aspirin',
                country: 'Austria',
                manufacturer: 'Bangladesh',
                price: '140',
                validDate: '02.10.2024'
            }
        ]
    })
})
</script>

额外检查

确保你已经正确引入Alpine.js脚本,比如在页面底部添加:

<script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js"></script>

内容的提问来源于stack exchange,提问作者user20984971

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 07:25:00