关于报错TypeError: Cannot read property ‘xxx‘ of null

90 阅读1分钟

今天上午在公司写后管项目的时候报了这个错,当时很疑惑。

data(){
    return{
        zhangwuji_detail:null,
        zhangwuji_data:null,
        zhangwuji_data_records:null
    }

},
methods:{
//val是当前获取数据的页码
    getList(val){
        //异步获取数据保存在zhangwuji_detail,
        zhangwuji_data,
        zhangwuji_data_records当中。
}

},
created:{
//页面一进来获取第一页数据显示在页面中
    this.getList(1)
}

问题在于getList方法当中的异步获取数据的操作,因为vue的生命周期是先处理数据再渲染页面,所以肯定是先执行getList方法,再渲染页面,但是此时我在data里面写的数据没有初始值,我用的null去站的位,异步处理没有完成就开始渲染页面才会导致这个问题,所以应该给zhangwuji_detail,zhangwuji_data,zhangwuji_data_records赋一个初始值,比如:

data(){
    return{
        zhangwuji_detail:{},
        zhangwuji_data:{},
        zhangwuji_data_records:[]
    }

}

如有不对请大佬指正,非常感谢!