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>

这样就可以生效了。

相关推荐
xingpanvip1 分钟前
星盘接口开发文档:马盘次限盘接口指南
android·开发语言·python·php·lua
JustHappy2 分钟前
古法编程秘籍(四):函数究竟是什么?把函数最重要的能力一次讲清楚
前端·后端·面试
OpenTiny社区2 分钟前
一行命令添加 AI 对话入口!TinyRobot 也太省事了~
前端·vue.js·ai编程
FBI HackerHarry浩2 分钟前
第二阶段Day07【Python生成器、yield关键字、property、正则表达式】
开发语言·python·正则表达式
sagima_sdu4 分钟前
Vue 前端径向渐变背景制作
前端·javascript·vue.js
神奇小汤圆9 分钟前
Java 并发编程核心原理与生产级最佳实践
javascript
iiiiyu10 分钟前
IO流(二)
java·开发语言·数据结构·编程语言
白露与泡影10 分钟前
牛客网大厂Java面试题全集(2026版,附答案)
java·开发语言
零点一顿微胖15 分钟前
[Agent]实现获取系统基本信息接口 Rust版
开发语言·rust
叶落阁主27 分钟前
Vue3 后台管理系统全局菜单搜索实战:Cmd/Ctrl + K、权限菜单与拼音过滤
前端·javascript·vue.js