DragonFire666
DragonFire666
  • 发布:2020-02-27 11:15
  • 更新:2020-02-27 11:46
  • 阅读:1350

【报Bug】onLoad 无法获取 this

分类:uni-app

onLoad 页面加载完成时的钩子函数,无法获取 this 页面对象

2020-02-27 11:15 负责人:无 分享
已邀请:
第七十三天至

第七十三天至

你用 箭头函数 ,你说 this 指向什么?

  • DragonFire666 (作者)

    this 应该是当前页面对象呀

    2020-02-27 11:25

  • 第七十三天至

    回复 DragonFire666: 你要看看 vue 的设计 ,箭头函数 已经跑出来 vue 的控制范围,使用普通函数 vue 会 注入 this实例,你才能操作

    2020-02-27 11:32

  • 第七十三天至

    回复 DragonFire666: https://cn.vuejs.org/v2/guide/instance.html 连 vue 的文档都不看 ,就报 bug ,你也是心大

    2020-02-27 11:35

  • DragonFire666 (作者)

    回复 第七十三天至: 大哥,代码如下,请查看,谢谢

    2020-02-27 11:47

DragonFire666

DragonFire666 (作者)

export default {  
        components: {  
            uniBadge,  
            uniCard  
        },  
        data() {  
            return {  
                num: 30000  
            }  
        },  
        onLoad: (res) => {  
            console.log(this.num);  
        }  
    }
  • 第七十三天至

    改成 onLoad(){

    }

    2020-02-27 11:48

  • 第七十三天至

    就是把箭头函数变成普通函数就行了

    2020-02-27 11:49

  • DragonFire666 (作者)

    回复 第七十三天至: 谢谢大佬,问题解决了,我是前端小白,不好意思,打扰了

    2020-02-27 11:54

  • DragonFire666 (作者)

    回复 第七十三天至: 懂了大佬,箭头函数的语法意义,我已经或多或少的懂一点儿了,谢谢

    大概的意识就是,箭头函数本身是没有this的

    2020-02-27 12:06

  • DragonFire666 (作者)

    回复 第七十三天至: 箭头函数没有this就会向上查找this直到找到为止,因为onLoad函数已经是最高级了,所以无法向上查找this,那么this自然就是undefined了

    2020-02-27 12:08

该问题目前已经被锁定, 无法添加新回复