当前位置:   article > 正文

Vue3 子组件如何抛出事件($emit 在 setup()、<script setup> 中使用)_vue3 子组件抛出方法

vue3 子组件抛出方法
  • vue2$emit 抛出事件

    <template>
      <!-- 点击事件 -->
      <button @click="touchButton">点击抛出事件</button>
    </template>
    
    <script>
    export default {
      methods: {
        touchButton () {
          // 抛出 success 事件
          this.$emit('success', '自带参数(可选)')
        }
      }
    }
    </script>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
  • Vue3 setup () {}$emit 抛出事件

    <template>
      <!-- 点击事件 -->
      <button @click="touchButton">点击抛出事件</button>
    </template>
    
    <script>
    export default {
      setup (props ,context) {
        // 点击按钮
        function touchButton () {
          context.emit('success', '自带参数(可选)')
        }
        // 返回
        return {
          touchButton
        }
      }
    }
    </script>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
  • Vue3 <script setup>$emit 抛出事件

    <template>
      <!-- 点击事件 -->
      <button @click="touchButton">点击抛出事件</button>
    </template>
    
    <script setup>
    import { defineEmits } from 'vue'
    const emits = defineEmits(['success'])
    // 点击按钮
    function touchButton () {
      emits('success', '自带参数(可选)')
    }
    </script>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
  • 还有一种便捷写法,上面几种写法中都支持使用

    <template>
      <!-- 点击事件 -->
      <button @click="$emit('success', '自带参数(可选)')">点击抛出事件</button>
    </template>
    
    <script>
    export default {
    }
    </script>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/795039
推荐阅读
相关标签
  

闽ICP备14008679号