这是可能的.我建议在复选框中添加一个数据模型,用于切换true或false.然后,这将允许您使用v-if
切换内容的外观.
例子:
<template>
<input type="checkbox" v-model="showContent" value="triggerString" />
<p v-if="showContent === 'triggerString'">Lorem ipsum</p>
</template>
<script>
export default {
data() {
return {
showContent: false
}
}
}
</script>
一般来说,我们在不需要的时候尽量不使用watch
.
Update:使用包含的JSFIDLE,只需v-if
个就可以做到这一点
<template>
<input type="checkbox"
v-model="section"
name="section"
value="Epiphone"
id="epiphone">
<label for="epiphone">Epiphone</labe>
<section v-if="section.includes('Epiphone')">
<h1>Epiphone</h1>
</section>
</template>
<script>
export default {
data() {
return {
section: []
}
}
}
</script>
由于在您创建的截面数组上有双向绑定,因此不需要额外的div
个对象,因为将发生的唯一跟踪将在截面对象中.
关于v-if
,需要记住的关键一点是,它可以包含实际的JS表达式,而不仅仅是数据值.因此,您可以从watch方法中提取逻辑,然后简单地将其插入其中.
希望这能回答你的问题!