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>

这样就可以生效了。

相关推荐
狗凯之家源码网4 小时前
短剧系统搭建实战:源码功能与商业变现效果全景展示
开发语言·php
用户2181697049305 小时前
Flutter(四)Dart语法 空安全 运算符 流程控制
前端
许彰午5 小时前
政务督办的分合模式:主办协办的并发审批
前端·javascript·政务
用户69371750013845 小时前
AI时代,程序员该往哪走?
前端·后端
ttwuai5 小时前
GoFrame 后台日志清空失败:无 WHERE 删除为什么被拦住
前端·golang
易筋紫容5 小时前
创建型模式:对象的诞生艺术
开发语言·前端·javascript
888CC++5 小时前
C++ 快速学习指南:从入门到进阶的实战路线
开发语言·c++
小小晓.5 小时前
C++记:函数
开发语言·c++·算法
半句唐诗5 小时前
我是如何通过 Access Token 成功发布第一个 npm 包的
前端·npm·node.js
程序员黑豆5 小时前
鸿蒙应用开发:@Provider 与 @Consumer 跨组件双向同步详解
前端·harmonyos