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>

这样就可以生效了。

相关推荐
ikoala1 分钟前
Codex 怎么买、怎么充值?先把这两套计费搞清楚
前端·javascript·后端
于指尖飞舞9 分钟前
java后端面试题(多线程极简)
java·开发语言
techdashen11 分钟前
从 Windows 的 ping.exe 入手:动态库、调用约定与 Rust FFI
开发语言·windows·rust
wuhen_n25 分钟前
RAG 优化实战:检索精准度提升全方案
前端·langchain·ai编程
Mike_jia28 分钟前
DataEase:人人可用的开源BI神器,企业数据决策民主化实战指南
前端
lichenyang45331 分钟前
从一次“重新发送 / 重新生成”开始,聊聊流式聊天状态机到底解决了什么问题
前端
前端Hardy32 分钟前
一个时代结束了:npm 终于对 install 脚本下手了
前端·javascript·后端
撑死胆大的33 分钟前
2026开发变局:国标落地后,软件开发彻底换赛道
前端·低代码·ai·大模型
AI科技星38 分钟前
数术宇宙:零一无穷创世史诗
开发语言·网络·量子计算·拓扑学