最近在开发过程中,一直遇到TypeError: Cannot set property 'XXX' of undefined的问题

查看以后,XXX确实有写在data内部,思考了一下报错原因,觉得这行代码可能出问题了

怀疑是this和that的指向是有问题的

经过console.log输出,发现此时的this为undefined,自然that就不会指向我们需要的vue实例

onLoad函数中,this居然不是指向本实例,而是undefined,多少有些费解

从onLoad函数定义来看,报错时,我的onLoad写法如下:

 采用的是 onLoad:(options) =>{} 的写法

更换使用如是形式:

 onLoad(options){
            console.log("详情页加载");
            console.log("接收到的类型为:" + options.type);
            console.log("接收到的编号为:" + options.marketId);
            var type = options.type;
            var marketId = options.market;
            ....

}

问题成功解决

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐