JS.VUE.VALID.V.ON

Enforce valid 'v-on' directives

This rule checks whether every v-on directive is valid.

Rule Details

This rule reports v-on directives in the following cases:

  • The directive does not have that event name. E.g. <div v-on="foo"></div>
  • The directive has invalid modifiers. E.g. <div v-on:click.bbb="foo"></div>
  • The directive does not have that attribute value and any verb modifiers. E.g. <div v-on:click></div>

{'vue/valid-v-on': ['error']}

Copy
<template>
  <!-- GOOD -->
  <div v-on="foo"/>
  <div v-on:click="foo"/>
  <div @click="foo"/>
  <div @click.left="foo"/>
  <div @click.prevent/>
  <div @click.stop/>

  <!-- BAD -->
  <div v-on/>
  <div v-on:click/>
  <div v-on:click.aaa="foo"/>
  <div @click/>
</template>

This rule does not check syntax errors in directives because it's checked by no-parsing-error rule.

Options

Copy
{
  "vue/valid-v-on": ["error", {
    "modifiers": []
  }]
}

This rule has an object option:

"modifiers" array of additional allowed modifiers.

"modifiers": ["foo"]

{'vue/valid-v-on': ['error', { modifiers: ['foo']}]}

Copy
<template>
  <div @click.foo="foo"/>
  <div v-on:click.foo="foo"/>
</template>

The content on this page is adapted from the ESLint User Guide. Copyright © OpenJS Foundation and other contributors, www.openjsf.org. All rights reserved. https://eslint.org/docs/rules/