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>

这样就可以生效了。

相关推荐
Meteors.1 分钟前
Kotlin协程序使用技巧和应用场景
android·开发语言·kotlin
晚风吹红霞5 分钟前
C++ vector 深度剖析:从入门到模拟实现,避开所有坑
开发语言·c++
如烟花的信页5 分钟前
数美滑块逆向分析
javascript·爬虫·python·js逆向
凯瑟琳.奥古斯特7 分钟前
力扣1235完整解法详解
java·开发语言·leetcode
quan_泉9 分钟前
DIDCTF 取证初学者
java·服务器·前端
子琦啊12 分钟前
华为 OD 2026年5月笔试题解析
javascript·华为
z落落12 分钟前
C# 继承基础详解(代码实战+权限规则)
java·开发语言
techdashen13 分钟前
你想在 Rust 中实现动态库热重载?
开发语言·chrome·rust
不会C语言的男孩14 分钟前
C++ Primer 第5章:语句
开发语言·c++
酉鬼女又兒17 分钟前
零基础入门计算机网络:从基本概念到核心交换技术
开发语言·计算机网络·考研·职场和发展·php