后端数据获取后前端显示为空的问题?

作者站长头像
站长
· 阅读数 14
import MyPanel from "@/components/Shop/MyPanel";
    import AppMore from "@/components/Shop/AppMore";
    import Mylist from "@/components/Shop/Mylist";
    export default {
        name: "AppGoods",
        components: {Mylist, AppMore, MyPanel},
        data(){
            return{
                tableData:[],
                allnewgoods:[],
                newgoods: [],
            }
        },
        methods:{
            getNew(){
                console.log(this.tableData)
                this.allnewgoods = this.tableData.sort( function sortData(a, b){
                    return new Date(b.ctime).getTime() - new Date(a.ctime).getTime()
                });
                // console.log(this.allnewgoods)
                this.newgoods=this.allnewgoods.slice(0,4)
            },
            loadGet() {
                this.$axios.get(this.$httpUrl+'/goods/list').then(res=>res.data).then(res=>{
                    console.log(res)
                    if(res.code == 200){        // 后端封装数据获取成功
                        this.tableData=res.data // 数据赋值显示
                        console.log(this.tableData)
                    }else{
                        alert("获取数据失败")
                    }
                })
            }
        },
        created() {
            this.getNew();
            this.loadGet();

        }
    }

后端数据获取后前端显示为空的问题?为什么可以获取后端数据,但是要绑定的时候就显示空值

绑定数据会显示但是也会报错

回复
1个回答
avatar
test
2024-06-18

1、你先执行的getNew,再执行的loadGet2、loadGet中的$axios.get是一个异步请求(如果不知道什么是异步,可以百度下)

你应该在this.tableData=res.data给tableData赋值之后,再运行getNew

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容