我希望能够用Vue隐藏一个div,对性能的影响尽可能小,因为网站上有几个div会被这样对待.我该怎么做?

Hide div > Display it when clicking on another div: (Example (without Vue))

With Vue(不工作)

html

<div id="app" v-on:click="seen = !seen" class="control">
    <p>click app</p>
</div>

<div v-if="seen" id="hide">
<p>hide me </p>
</div>

JavaScript

new Vue({
    el:'#hide',
    data:{
        seen: false
    }
})

推荐答案

正如@Ferrybig所说,Vue只能控制它绑定到的元素和所有这些子元素.您的hide元素位于绑定到Vue(app)的元素之外,因此Vue无法更改它.

只需稍作修改,您的代码就可以正常工作:

new Vue({
el:'#wrapper',
data:{
    seen: true
}
});
    <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="wrapper">
  <div id="app" v-on:click="seen = !seen" class="control">
      <p>click app</p>
  </div>
        
  <div v-if="seen" id="hide">
      <p>hide me </p>
  </div>
</div>

Vue.js相关问答推荐

如何使用Nuxt 3动态处理无限嵌套路由?

带 Bootstrap 的 Vue js,导航栏菜单不起作用

从组件中检索 Shopware CMS 编辑器中的自定义实体数据

在计算(computed)属性上调用数组方法

如何对将 DOM 元素附加到 HTML 正文的 Vue 组件进行单元测试?

在按键 vuejs 中只允许数字和一个小数点后 2 位限制

Vuetify v-select 组件宽度变化

VueJS 禁用特定属性的react性

如何使用 vuex 删除项目?

Vuetify - 如何在 v-data-table 中单击时突出显示行

阻止 Vue 积极重用 dom 元素

Select 下拉列表中的复选框后如何清除 v-autocomplete(多个)搜索输入?

我可以使用react路由创建别名路由吗?

为 Vue 组件动态添加属性

基本 vue.js 2 和 vue-resource http 获取变量赋值

Vue.js 拦截器

标签中的 href 赋值

偶数行格式化

将鼠标悬停在 TailwindCSS 中的 div 上时显示按钮

如何隔离 Vuetify 全局样式