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>

这样就可以生效了。

相关推荐
水木姚姚12 分钟前
初识C++
开发语言·c++
努力往上爬de蜗牛14 分钟前
react native 实现选择图片或者拍照上传(多张)
javascript·react native·react.js
谢尔登21 分钟前
【React】React组件的渲染过程分为哪几个阶段?
前端·javascript·react.js
权泽谦32 分钟前
新世代的 C++:当 ChatGPT 遇上模板元编程
开发语言·c++·chatgpt
MediaTea35 分钟前
Python 第三方库:Flask(轻量级 Web 框架)
开发语言·前端·后端·python·flask
2501_9411114039 分钟前
C++中的状态模式实战
开发语言·c++·算法
5***o50041 分钟前
前端构建工具缓存清理,解决依赖问题
前端·缓存
lcc1871 小时前
Vue Vue与VueComponent的关系
前端·vue.js
无敌最俊朗@1 小时前
Vue 3 概况
前端·javascript·vue.js
Dxxyyyy1 小时前
零基础学JAVA--Day34(Map接口+HashTable+HashMap+TreeSet+TreeMap+开发中如何选择集合实现类?(重要))
java·开发语言