pageClass | sidebarDepth | title | description | since |
---|---|---|---|---|
rule-details |
0 |
vue/no-v-text-v-html-on-component |
disallow v-text / v-html on component |
v8.4.0 |
disallow v-text / v-html on component
- ⚙️ This rule is included in all of
"plugin:vue/essential"
,"plugin:vue/vue3-essential"
,"plugin:vue/strongly-recommended"
,"plugin:vue/vue3-strongly-recommended"
,"plugin:vue/recommended"
and"plugin:vue/vue3-recommended"
.
This rule disallows the use of v-text / v-html on component.
If you use v-text / v-html on a component, it will overwrite the component's content and may break the component.
<template>
<!-- ✓ GOOD -->
<div v-text="content"></div>
<div v-html="html"></div>
<MyComponent>{{ content }}</MyComponent>
<!-- ✗ BAD -->
<MyComponent v-text="content"></MyComponent>
<MyComponent v-html="html"></MyComponent>
</template>
{
"vue/no-v-text-v-html-on-component": [
"error",
{ "allow": ["router-link", "nuxt-link"] }
]
}
allow
(string[]
) ... Specify a list of custom components for which the rule should not apply.
<template>
<!-- ✓ GOOD -->
<router-link v-html="content" />
<NuxtLink v-html="content" />
<!-- ✗ BAD -->
<MyComponent v-html="content" />
</template>
This rule was introduced in eslint-plugin-vue v8.4.0