美文网首页
vue3.2 事件暴露

vue3.2 事件暴露

作者: ThisWu | 来源:发表于2022-07-21 12:02 被阅读0次

    以往的vue想在组件内部暴露事件其实很简单直观的直接使用$emit就好。如下:

        this.$emit('save', '这是保存事件暴露')
    

    vue3.2 就不行。但是 setup 声明语法内置可以识别defineEmits api

    // 需要先声明,在使用,然后才能正常接收。还是以save方法为例(一定要注意使用场景):
    const emit = defineEmits(['save'])
    emit('save', '这是保存事件暴露')
    
    // 这种setup 语法是可以直接使用,不需要单独声明
    <script setup>
      const emits = defineEmits(['increase']);
      const handelClick = () => {
        emits('increase');
      };
    </script>
    
    // 非setup语法就需要单独引入声明才能使用
    improt { defineEmits } from 'vue'
    <script>
      const emits = defineEmits(['increase']);
      const handelClick = () => {
        emits('increase');
      };
    </script>
    
    

    如想看更详细代码或想学习vite和vue3.2+请移步: tw-vue-vite: 一个基于vue3.2(全家桶)+ vite + elementplus的系统集成架构 (gitee.com)

    相关文章

      网友评论

          本文标题:vue3.2 事件暴露

          本文链接:https://www.haomeiwen.com/subject/wgyuirtx.html