【笔记】vue3.2 组件自定义事件

在vue3.x中,组件自定义时间是通过上下文context来调取得,而这个context也是在setup(props, context)中,那vue3.2在把setup写到<script>标签后,该如何使用呢?

在vue3.2中,提供了defineEmits语法糖,可以用来定义事件的名字,废话不多说,上例子。

<!-- 子组件 child.vue -->
<script setup>
const emit = defineEmits(['custom-event'])

const callEvent = () => {
  const now = new Date()
  emit('custom-event', now)
}
</script>

<template>
  <button @click="callEvent">点击</button>
</template>
<!-- 父组件 parent.vue -->
<script setup>
import child from './child.vue'

const handleCustomEvent = (val) => {
  console.log(val)
}
</script>

<template>
  <child @custom-event="handleCustomEvent"></child>
</template>

以上,便展示了组件自定义事件的使用。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 3.2中,可以使用`ref`来创建组件实例的引用。引用中提到了父子组件之间数据共享的方式,其中父组件可以使用`defineProps`来接收父组件传递的props,子组件则可以使用`ref`来创建一个组件实例的引用。比如,在父组件中可以这样使用`ref`来创建子组件实例的引用: ``` <template> <child-component ref="childRef"></child-component> </template> <script> import ChildComponent from './ChildComponent.vue'; import { ref } from 'vue'; export default { components: { ChildComponent }, setup() { const childRef = ref(null); // 使用childRef来访问子组件中的方法和属性 // 例如:childRef.value.methodName() return { childRef }; } } </script> ``` 通过这种方式,父组件就可以通过`ref`来访问子组件中的方法和属性了。需要注意的是,使用`ref`创建的引用是响应式的,即当子组件的状态发生变化时,父组件也会得到通知。这样可以实现子向父传递数据的效果。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [vue3.2 组件之间的数据共享方式(含vuex详解)](https://blog.csdn.net/ailsa_csdn/article/details/123406687)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值