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>

这样就可以生效了。

相关推荐
可视之道几秒前
前端图形编辑器的多选框架:从单选到框选到 Shift 连选
前端
3秒一个大1 分钟前
JS 数组去重全方案:从基础到通用万能去重函数
前端·javascript
晴天164 分钟前
Electron面试题-Day19
java·javascript·electron
阿黎梨梨7 分钟前
读懂一个 Next.js 全栈笔记应用
前端
古茗前端团队16 分钟前
代码越改越乱?来试试前端领域模型驱动设计(DDD)
前端·agent·ai编程
Hilaku24 分钟前
为什么跳槽涨薪 30% 的时代彻底结束了?聊聊 2026 前端薪资的天花板
前端·javascript·程序员
从小就看凹凸曼^o^31 分钟前
Python基础5 - 字典与集合:(1)字典
开发语言·python
愚公搬代码36 分钟前
【愚公系列】《Web应用安全》006-HackBar插件的使用
前端·安全
侧耳倾听1111 小时前
java 日志框架简介
java·开发语言
超爱吃香菜的菜鸟1 小时前
关于pnpm 部分使用(一)
前端·vue.js