枭筱龙
2021-03-15 17:06
采纳率: 71.4%
浏览 3.9k
已采纳

vue3 在 onMounted 阶段无法使用 this.$emit

最近在学习vue3,在之前,先用vue2实现了个页面,然后基于Vue2改写成vue3的语法。

因为不是直接用的正式发布版的Vue3 Cli,我这里引入了 @vue/composition-api 使用vue3语法。

在使用过程中,发现在 setup() 中this 是 undefined,在onMounted 中this也是undefined.

所以我在准备 在 onMounted 阶段给父组件传值时,出现了问题。

请问有没有大佬知道,vue3 如何在 onMounted 阶段给父组件传值?

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 射手座男人 2021-03-15 17:25
    已采纳

    Vue 3当中是没有this的 ,或者说this 指向的并不是Vue实例,Vue3出了一些option-api之类的

    export default defineComponent({
        props: {
        },
        setup(props, {emit}) {
          onMounted(() => {
             emit('hotRequest', false)
          })
        }
    })

    这样去传值

    已采纳该答案
    评论
    解决 4 无用
    打赏 举报
  • 一叶飘零宾 2021-03-15 17:23

    评论
    解决 1 无用
    打赏 举报
  • 一叶飘零宾 2021-03-15 17:24

    不要在这里使用箭头函数

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题