Skip to content

vue/require-explicit-emits

要求 emits 选项带有名称由 $emit() 触发

  • ⚙️ 此规则包含在 "plugin:vue/strongly-recommended"*.configs["flat/strongly-recommended"]"plugin:vue/recommended"*.configs["flat/recommended"] 中。
  • 💡此规则报告的某些问题可以通过编辑器 suggestions 手动修复。

    ¥💡 Some problems reported by this rule are manually fixable by editor suggestions.

📖 规则详情

此规则报告未使用 emits 选项声明的事件触发器。(emits 选项是 Vue.js 3.0.0+ 中的新增选项)

¥This rule reports event triggers not declared with the emits option. (The emits option is a new in Vue.js 3.0.0+)

显式 emits 声明用作自文档代码。这对于其他开发者很有用,可以让他们立即了解组件应该触发什么事件。此外,随着 Vue.js 3.0.0+ 中属性 fallthrough 的变化,组件上的 v-on 监听器将默认作为原生监听器 fallthrough。在 emits 中将其声明为仅限组件的事件,以避免不必要地注册原生监听器。

¥Explicit emits declaration serves as self-documenting code. This can be useful for other developers to instantly understand what events the component is supposed to emit. Also, with attribute fallthrough changes in Vue.js 3.0.0+, v-on listeners on components will fallthrough as native listeners by default. Declare it as a component-only event in emits to avoid unnecessary registration of native listeners.

Now loading...
Now loading...
Now loading...

🔧选项

¥🔧 Options

json
{
  "vue/require-explicit-emits": ["error", {
    "allowProps": false
  }]
}
  • "allowProps" ...如果是 true,则允许在 props 中定义的事件名称。默认 false

    ¥"allowProps" ... If true, allow event names defined in props. default false

"allowProps": true

Now loading...

👫相关规则

¥👫 Related Rules

📚扩展阅读

¥📚 Further Reading

🚀版本

¥🚀 Version

此规则在 eslint-plugin-vue v7.0.0 中引入

¥This rule was introduced in eslint-plugin-vue v7.0.0

🔍代码实现

¥🔍 Implementation

eslint-plugin-vue v10.0 中文网 - 粤ICP备13048890号