我在表单中有复选框,我想直接使用v-if根据选中的复选框值显示/隐藏部分.

我可以用手表吗?

推荐答案

这是可能的.我建议在复选框中添加一个数据模型,用于切换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方法中提取逻辑,然后简单地将其插入其中.

希望这能回答你的问题!

Vue.js相关问答推荐

正在try 访问vutify中v-select(ItemProps)的嵌套json值

在 VueJS 中为 Get、Post、Patch 配置全局标头的最佳方法

使用 Vue.js 和 Jest 进行 URL 重定向测试

vuetifyjs:仅添加使用过的图标来构建

在下拉菜单上使用箭头键滚动

apache上的Vue-router,子目录下的SPA,只能通过重定向访问页面

如何将 vue.js 与 gulp 一起使用?

在组件的样式部分使用 Vue 变量

为什么当我 Select 第二个输入框时音译transliteration不起作用?

单击链接会更改 url,但不会更改页面上的内容/数据

ionic - `slot` 属性已被弃用 - eslint-plugin-vue

请求正在进行时显示加载器

如何在 Vue.js 3 中使用 Vue 3 Meta?

Vuejs模板继承

触发子函数

如何在 Vuex 中获取 Vue 路由参数?

Vue Cli 3 不允许我在 Webpack 中处理 SVG

在Vue中单击路由链接上的激活方法

Vuetify RTL 风格

Vue 3 组合 API 数据()函数