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>

这样就可以生效了。

相关推荐
君顾1几秒前
酒吧点餐小程序系统开发实战:从架构设计到上线全流程指南
java·开发语言·酒吧
小聪70817 分钟前
基于node实现一个轻量化web引擎:elpis-core
前端
子非鱼a18 分钟前
【WEB】[SWPU2019]Web1
java·服务器·前端
涛涛ing23 分钟前
9 月第一周,前端圈又炸了四次
前端
似水এ᭄往昔25 分钟前
【Qt】--常用控件(显示类控件)
开发语言·qt
葡萄城技术团队27 分钟前
从自然语言到表格操作:SpreadJS 表格智能体如何执行一个任务
前端
PHP实战开发录36 分钟前
PHP文件上传成功为什么页面却找不到
开发语言·nginx·php·开发
Neighbor_OldY1 小时前
【实战复盘】文件上传漏洞检测与应急处置:校验绕过、图片马与WebShell的排查修复指南
运维·前端·web安全
金花顺1 小时前
android_media_AudioTrack_setup
前端
晓天衡宇•评测社区1 小时前
Seedance 2.5 登顶图生视频榜单,Wan 3.0 在游戏与教育场景进入前列
前端·javascript·网络