# vue/no-child-content
disallow element's child contents which would be overwritten by a directive like
v-html
orv-text
- ⚙️ This rule is included in all of
"plugin:vue/vue3-essential"
,"plugin:vue/essential"
,"plugin:vue/vue3-strongly-recommended"
,"plugin:vue/strongly-recommended"
,"plugin:vue/vue3-recommended"
and"plugin:vue/recommended"
. - 💡 Some problems reported by this rule are manually fixable by editor suggestions (opens new window).
# 📖 Rule Details
This rule reports child content of elements that have a directive which overwrites that child content. By default, those are v-html
and v-text
, additional ones (e.g. Vue I18n's v-t
directive (opens new window)) can be configured manually.
<template>
<!-- ✓ GOOD -->
<div>child content</div>
<div v-html="replacesChildContent"></div>
<!-- ✗ BAD -->
<div v-html="replacesChildContent">child content</div>
</template>
# 🔧 Options
{
"vue/no-child-content": ["error", {
"additionalDirectives": ["foo"] // checks v-foo directive
}]
}
additionalDirectives
... An array of additional directives to check, without thev-
prefix. Empty by default;v-html
andv-text
are always checked.
# 📚 Further Reading
# 🚀 Version
This rule was introduced in eslint-plugin-vue v8.1.0