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

Vue.js Fetch API无法正常显示模拟用户数据的问题求助

问题修复方案

你的代码存在三个关键问题导致数据无法正常渲染,以下是修复细节及完整代码:

核心问题与修复点

  • 未正确操作Vue响应式数据:loadUsers方法里直接赋值users = data.data不会更新组件的users数组,必须通过this.users访问组件的响应式属性,这样Vue才能监测到数据变化并更新视图。
  • 图片属性绑定错误:Vue中不能在HTML属性里直接用{{}}插值,需要用v-bind:src(简写:src)来绑定图片地址。
  • 用户名显示格式错误:代码里的+号会直接显示在页面上,应该用空格分隔名字。

修复后的完整代码

<body class="container bg-warning">
    <h1>
        Usuários de Teste via REST
    </h1>
    <p>
        referência ao site reqres.in responsável por fornecer os dados de teste,
        no formato JSON, de forma gratuita
    </p>
    <div id="usuarios" class=" container-fluid">
        <div class="row">
            <div class="card col-3 p-2 m-3" v-for="(user,index) in users" v-bind:key="index">
                <div class=" card-body">
                    <img class="card-img-top" :src="user.avatar" />
                    <h1>
                        {{user.first_name}} {{user.last_name}}
                    </h1>
                    <p>
                        {{user.email}}
                    </p>
                </div>
            </div>
        </div>
    </div>
    <script>
        const { createApp } = Vue

        createApp({
            data() {
                return {
                    users: []
                }
            },
            methods: {
                loadUsers() {
                    fetch('https://reqres.in/api/users?per_page=10')
                        .then(res => res.json())
                        .then(data => this.users = data.data)
                        .catch(err => console.error('请求失败:', err)); // 新增错误处理,方便调试
                }
            },
            mounted() {
                this.loadUsers()
            }
        }).mount('#usuarios')
    </script>
</body>

内容的提问来源于stack exchange,提问作者John William Makant

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 22:42:47