使用Alpine.js的x-for指令无法访问元素字段问题求助
问题解决:Alpine.js无法展示JSON字段h.Name
核心问题排查与修复步骤:
- 移除语法错误:你的
x-data属性后面多了个逗号,这会导致Alpine.js解析失败,直接去掉这个逗号。 - 修正
<template>子元素数量:x-for要求<template>只能有一个直接子元素,把两个<p>标签用<div>包裹起来。 - 确认字段大小写匹配:JavaScript是大小写敏感的,检查
bios.json里的字段是否确实是Name(首字母大写),如果是小写name,要把h.Name改成h.name。 - 验证JSON结构:确保
fetch返回的JSON最外层是数组,否则x-for无法遍历。
修正后的完整代码:
<script src="https://www.unpkg.com/alpinejs" defer></script> <script> function note(a) { console.log(a); return a; } </script> <div x-data="{ bios: [] }" x-init="bios = note(await (await fetch('http://localhost:8000/bios.json')).json())"> <template x-for="h in bios"> <div> <p>member</p> <p x-text="h.Name"></p> </div> </template> </div>
内容的提问来源于stack exchange,提问作者moth
相关产品推荐
相关产品推荐

