l***@163.com
l***@163.com
  • 发布:2023-03-14 01:08
  • 更新:2023-03-16 09:58
  • 阅读:492

vue3 this 问题

分类:uni-app

vue3 版本时 在组件内使用 uni.createSelectorQuery().in(this) 时 this怎么获取,从getCurrentInstance 里获取的不好使

2023-03-14 01:08 负责人:无 分享
已邀请:
赵永强

赵永强 - 前端老菜鸟

const editorCtx = ref(null);  

const onEditorReady = () => {  
    uni.createSelectorQuery()  
        .select('#editor')  
        .context(res => {  
            editorCtx.value = res.context;  
        })  
        .exec();  
};

是类似于这种吗?

  • l***@163.com (作者)

    就是这种,在组件内不传.in(this)选择范围不好使,传getCurrentInstance 也不好使,

    2023-03-14 10:51

曾小晨

曾小晨

我从 getCurrentInstance 是可以的,小程序

  • l***@163.com (作者)

    组件里也可以么,我在页面传getCurrentInstance好使,组件内部不可以,

    2023-03-14 10:49

  • 曾小晨

    回复 l***@163.com: 对,就是组件内部,我还是前段时间都改造了的

    2023-03-14 18:42

l***@163.com

l***@163.com (作者)

由于一些原因还只能用组合式写法 ...

l***@163.com

l***@163.com (作者)

项目搭建一个多月了,突然遇到这个问题,解决不了就辞职不干了

曾小晨
  • 曾小晨

    我通过一个组件,实现动态气泡。

    外层只需要给组件提供选择器就行,然后组件内部根据选择器找到元素的位置,动态追加在屏幕指定位置

    2023-03-14 18:45

zZZ1Ma

zZZ1Ma

// Component  
import { getCurrentInstance } from 'vue'  
const { proxy } = getCurrentInstance()  
// proxy 代替optionsAPI内 this  
uni.createSelectorQuery().in(proxy)....

要回复问题请先登录注册