当前位置: 首页 > wzjs >正文

请问的网站开发培训 有知道的吗网站建设公司企业网站

请问的网站开发培训 有知道的吗,网站建设公司企业网站,外贸 网站 seo,ai设计logo免费网站在 Vue 3 中,emits 是一个组件选项,用于声明组件可以触发的自定义事件。这有助于组件间的通信,特别是子组件向父组件传递数据。 以下是 emits 的基本用法和示例: 1. 声明自定义事件 你可以在组件中使用 emits 选项来声明可以触…

在 Vue 3 中,emits 是一个组件选项,用于声明组件可以触发的自定义事件。这有助于组件间的通信,特别是子组件向父组件传递数据

以下是 emits 的基本用法和示例:

1. 声明自定义事件

你可以在组件中使用 emits 选项来声明可以触发的事件

数组形式–数组形式适用于不需要进行参数验证的场景:

export default {emits: ['customEvent1', 'customEvent2'],methods: {triggerEvent1() {this.$emit('customEvent1', 'Event 1 triggered');},triggerEvent2() {this.$emit('customEvent2', 'Event 2 triggered');}}
};

对象形式–对象形式允许你对事件进行更详细的验证:

export default {emits: {customEvent: (payload) => {return typeof payload === 'string';}},methods: {triggerEvent() {this.$emit('customEvent', 'Valid payload');}}
};

2. 触发事件

在子组件中,使用 this.$emit 方法触发声明的事件:

<template><button @click="triggerEvent">Trigger Event</button>
</template><script>
export default {emits: ['customEvent'],methods: {triggerEvent() {this.$emit('customEvent', 'Event triggered');}}
};
</script>

父组件监听事件 在父组件中,使用 v-on 或 @ 指令监听子组件的事件:

<template><child-component @customEvent="handleEvent" />
</template><script>
import ChildComponent from './ChildComponent.vue';export default {components: {ChildComponent},methods: {handleEvent(message) {console.log(message); // 输出: 'Event triggered'}}
};
</script>

4. 使用 defineEmits(组合式 API)

组合式 API 中,可以使用 defineEmits 函数来定义事件

<template><button @click="triggerEvent">Trigger Event</button>
</template><script setup>
import { defineEmits } from 'vue';const emit = defineEmits(['customEvent']);
// 数组形式
const emitOther = defineEmits(['increment', 'decrement']);// 对象形式
const emit = defineEmits({updateCount: (newCount) => {return typeof newCount === 'number';}
});
const triggerEvent = () => {emit('customEvent', 'Event triggered');
};
</script>

对象形式进行一次完整的表达

<template><button @click="triggerEvent">Trigger Event</button>
</template><script setup>
import { ref } from 'vue';const count = ref(0);const emit = defineEmits({updateCount: (newCount) => {return typeof newCount === 'number';}
});const triggerEvent = () => {count.value++;emit('updateCount', count.value);
};
</script>

TS的写法 在 TypeScript 中,你可以使用类型声明来定义事件参数的类型:

<script setup lang="ts">
const emit = defineEmits<{(e: 'change', id: number): void;(e: 'update', value: string): void;
}>();const triggerChange = (id: number) => {emit('change', id);
};const triggerUpdate = (value: string) => {emit('update', value);
};
</script>

注意事项

  • 事件验证:在对象形式中,验证函数返回 false 时,事件将不会被触发 。
  • 原生事件:在 Vue 3 中,可以直接在组件上监听原生事件,无需使用 .native 修饰符 。
http://www.dtcms.com/wzjs/18208.html

相关文章:

  • 美女教师做爰网站如何制作一个个人网站
  • 网站建设网站需求分析报告功能网络品牌推广
  • 深圳市企业网站建设哪家好搜索引擎seo推广
  • 宁波建网站找哪家广州营销推广
  • 下了网站建设百度网站制作
  • 做平台好还是自己建网站网页制作费用大概多少
  • weebly wordpress网站关键词seo优化公司
  • app界面设计模板图seo研究协会网
  • 怎样申请个人网站西安seo顾问
  • 一般网站建设需要哪些东西百度下载并安装到桌面
  • 苏州园区住建委官方网站百度推广平台登录网址
  • 网站开发工程师认证哪些平台可以免费发布产品
  • 东莞网站设计精英青岛网站快速排名提升
  • 怎么建设网站规划网址和网站的区别
  • 网站制作南宁seo推广优化培训
  • 导购类网站如何做会员互动网站自然优化
  • 湖南网站需要公安局备案上海网络推广专员
  • 门户网站系统建设方案百度ai开放平台
  • 怎么做dnf辅助网站南宁求介绍seo软件
  • 黑龙江建设网官方网站特种作业证淘宝网店的seo主要是什么
  • 南山区网站建设公司网络营销推广策划步骤
  • 免费网站建设排行漯河搜狗关键词优化排名软件
  • 可以浏览国外网站发稿
  • 新媒体 网站建设 影视软文小故事200字
  • 网站开发功能说明书珠海网站建设
  • 深圳网站开发找哪里做个公司网站一般需要多少钱
  • 悬赏做海报的网站seo营销外包
  • 做兼职的那个网站靠谱吗百度ai人工智能平台
  • 商业网站开发论文专业网站建设公司
  • 做跨境网站今日热榜官网