v-if失效原因

一般v-if失效都是和绑定变量有关,我所知道的一般有两种

1.绑定的变量为String类型或者其他类型

就是返回的变量类型与所需要的布尔类型不匹配。

html 复制代码
<template>
     <div>
       <div id="container" ref="container" v-if='type'></div>
    </div>
</template>
<script setup lang="ts">
  const type=ref('false')
</script>

就像这种,我们得到的type的值是"false"而不是false,两者之间类型不同。如果不确定变量类型,就用typeof去打印。

2.两个相似的组件,v-if无法就行判断

对于两个很相似的组件,不管自定义还是还是本身的,如果只是用v-if那可能会造成失效

html 复制代码
<template>
     <div>
       <el-button  v-if='type'></el-button>
       <el-button  v-if='!type'></el-button>
    </div>
</template>
<script setup lang="ts">
  const type=ref(false)
</script>

就像这样的,但是我们可以通过添加key值去区分。

html 复制代码
<template>
     <div>
       <el-button  v-if='type' key=1></el-button>
       <el-button  v-if='!type' key=2></el-button>
    </div>
</template>
<script setup lang="ts">
  const type=ref(false)
</script>

这样就可以生效了。

相关推荐
夏天的峰没有风3 分钟前
Typora+gitcode+picgo搭建免费图床
开发语言·ios·swift
旺仔老馒头.7 分钟前
【C++】类和对象(三)
开发语言·c++·程序人生·类和对象
右耳朵猫AI7 分钟前
Java & JVM技术周刊 2026年第19周
java·开发语言·jvm
无风听海9 分钟前
构建现代 Web 应用的令牌安全体系:Refresh Token Rotation、HttpOnly Cookie 与 Grace Period 全解析
前端·安全
han_hanker10 分钟前
Java 对象序列化
java·开发语言
zhojiew10 分钟前
通过Toxiproxy从原理到实践理解混沌工程
开发语言·php
云水一下10 分钟前
JavaScript 从零基础到精通系列:对象、数组与 ES6 数据操作利器
前端·javascript
四代水门11 分钟前
服务端倒带(Server-Side Rewind)命中判定系统
java·前端·算法
宋浮檀s11 分钟前
应急响应——Web高危漏洞应急(SQL注入+XSS跨站+文件上传)
前端·网络·安全·web安全·xss
前端后腿哥12 分钟前
UNIAPPX UTS插件Widget开发完整教程(Android版)
前端·uni-app