Vue 'emits' 选项
示例
使用 emits
选项声明从组件发出哪些自定义事件。
export default {
emits: ['custom-event'],
methods: {
notifyParent() {
this.$emit('custom-event','Hello! ')
}
}
}
运行示例 »
查看下面的更多示例
定义和用法
emits
选项用于记录组件发出的自定义事件。
emits
选项不是必需的,这意味着组件可以发出事件,而无需在 emits
选项中定义事件。
尽管 emits
选项不是必需的,但仍然建议使用它,以便其他程序员可以轻松查看组件发出的内容。
当 emits
选项以数组形式给出时,该数组仅包含以字符串形式发出的名称。 (参见上面的示例。)
当 emits
选项作为对象给出时,属性名称是发射的名称,如果有验证器函数,则该值是验证器函数;如果发射没有验证器函数,则值为"null"。 (参见下面的示例。)
更多示例
示例
使用 props 作为带有选项的对象,以便在父组件未提供时显示默认的食物描述。
FoodItem.vue
:
<template>
<div>
<h2>{{ foodName }}</h2>
<p>{{ foodDesc }}</p>
</div>
</template>
<script>
export default {
props: {
foodName: {
type: String,
required: true
},
foodDesc: {
type: String,
required: false,
default: 'This is the food description...'
}
}
};
</script>
App.vue
:
<template>
<h1>Food</h1>
<p>没有为"披萨"和"米饭"提供食物描述,因此使用默认描述。</p>
<div id="wrapper">
<food-item
food-name="Apples"
food-desc="苹果是一种生长在树上的水果。"/>
<food-item
food-name="Pizza"/>
<food-item
food-name="Rice"/>
</div>
</template>
<style>
#wrapper {
display: flex;
flex-wrap: wrap;
}
#wrapper > div {
border: dashed black 1px;
flex-basis: 120px;
margin: 10px;
padding: 10px;
background-color: lightgreen;
}
</style>
运行示例 »
相关页面
Vue 教程:Vue $emit() 方法
Vue 教程:Vue Props 选项
Vue 参考:Vue $props 对象
Vue 参考:Vue $emit() 方法