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>

这样就可以生效了。

相关推荐
ID_180079054731 分钟前
小红书笔记评论 API 接口深度解析(带全套 JSON 示例・技术实战版)
java·开发语言·windows
折戟不必沉沙1 分钟前
C++四种类型转换是什么
开发语言·c++
天青色等烟雨..1 分钟前
AI赋能R-Meta分析核心技术:从热点挖掘到高级模型、助力高效科研与论文发表
开发语言·人工智能·r语言
Marst Code9 分钟前
⚙️ 2026 年推荐技术方案
前端
AI玫瑰助手14 分钟前
Python函数:递归函数的定义与阶乘案例实现
开发语言·python·信息可视化
qq_3660862217 分钟前
测试接口传参数时,放在Header和Body中后台接收参数的区别
java·开发语言·前端
Jun62619 分钟前
QT(8)-线程锁
java·开发语言
whatever who cares26 分钟前
Vue3中vue文件和composables的分工
前端·javascript·vue.js
袋鼠云数栈UED团队28 分钟前
基于 superpowers 实现复杂前端改造
前端
袋鼠云数栈前端30 分钟前
基于 superpowers 实现复杂前端改造
前端·ai