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>

这样就可以生效了。

相关推荐
BillKu44 分钟前
Vue3 + Element Plus 中修改表格当前选中行的颜色
前端·vue.js·elementui
BillKu1 小时前
Axios中POST、PUT、PATCH用法区别
前端·vue.js
好奇的菜鸟2 小时前
掌握 npm 核心操作:从安装到管理依赖的完整指南
前端·npm·node.js
蟹至之3 小时前
【Java】异常的初步认识
java·开发语言·类和对象·异常
佩奇的技术笔记3 小时前
Python入门手册:Python基础语法
开发语言·python
STUPID MAN3 小时前
arcgis js统计FeatureLayer的椭球面积、平面面积
javascript·arcgis·椭球面积·平面面积
学习使我变快乐3 小时前
C++:STL
开发语言·c++
肥肠可耐的西西公主4 小时前
前端(小程序)学习笔记(CLASS 2):WXML模板语法与WXSS模板样式
前端·学习·小程序
PingdiGuo_guo4 小时前
C++指针(二)
开发语言·c++
JAVA学习通4 小时前
JavaScript网页开发设计(轮播图)
javascript