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>

这样就可以生效了。

相关推荐
开开心心就好几秒前
办公软件卸载不干净?专用工具一键清残留
java·前端·人工智能·智能手机·kafka·excel·memcache
坤坤子吖12 分钟前
Python基础语法学习:条件、循环与程序控制
开发语言·笔记·python·学习
静默回滚16 分钟前
图片能显示,画进canvas却空白:像素面积上限
前端
补码缩写16 分钟前
canvas大图内存怎么算:宽×高×4只是第一份
前端
吠品17 分钟前
volatile到底在拦什么:SysTick->VAL读的哪格
java·服务器·开发语言
coding漫漫长路20 分钟前
img.decode()报错的图能画,load成功的却是空的
前端
不可能片场23 分钟前
AI视频首尾帧控制 用参考图定住镜头
前端·electron
修炼的dance28 分钟前
canvas最大能开多大:先看面积,再看导出格式
前端
付威202328 分钟前
Rust 所有权:看你的答对几道题?
javascript
西红柿炖牛腩35435 分钟前
Three.js 模型体积优化:Draco/Meshopt 压缩与 DRACOLoader 配置的 4 个步骤
javascript·3d·性能优化