vue2 emits
时间: 2024-06-09 15:03:36 浏览: 72
vue2
在 Vue.js 2.x 中,`emits` 是一个组件选项,用于声明当前组件可以触发的事件。通过 `emits`,你可以明确地告诉父组件该组件可以触发哪些事件。这样做有助于改善代码的可读性和可维护性。
`emits` 选项是一个对象,对象的键表示该组件可以触发的事件名称,值则是一个函数或数组,用于验证传递给该事件的参数。如果函数返回 `false`,则代表验证失败,事件将不会被触发。
下面是一个简单的示例:
```
Vue.component('my-component', {
emits: {
// 定义 'update' 事件,事件的参数必须是字符串或数字
update: function(value) {
return typeof value === 'string' || typeof value === 'number';
}
},
template: '<div><button @click="updateClick">更新</button></div>',
methods: {
updateClick() {
// 触发 'update' 事件
this.$emit('update', 'new value');
}
}
});
```
在这个示例中,我们定义了 `my-component` 组件可以触发 `update` 事件,并且事件的参数必须是字符串或数字。在组件内部,我们通过 `$emit` 方法触发了 `update` 事件,并传递了一个字符串参数 `'new value'`。
阅读全文