javascript - Vue通过axios获取数据,渲染的问题

查看:206
本文介绍了javascript - Vue通过axios获取数据,渲染的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

在学习慕课网vue购物车视频里,遇到问题,在beforeMount里边通过axios获取数据,然后赋值给data里边的数据,在comupted里边使用forEach遍历对象,都会出Cannot read property ‘forEach’ of null,这个错误。经过测试跟猜想,出那个错误是因为通过axios还没获取到数据,就开始遍历对象,原因可能是因为axios获取到对象再进行其它操作是异步的。如何才不会报错呢?

var vm=new Vue({
    el:".shopcar",
    data:{
        productList:null
        },
    computed:{
                total:function() {
                    var money=0;
                    this.productList.forEach(function(value){
                        if(value.checked){
                            money+=value.productPrice*value.productQuentity
                        }
                    })
                    return money;
                }
    },
    beforeMount:function() {
            axios.get("data/cart.json").then((resq)=> {
                this.productList=resq.data.result.productList;
            })
        },
})

解决方案

this.productList && this.productList.forEach(function(value){

这篇关于javascript - Vue通过axios获取数据,渲染的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆