vue v-if 不显示和显示错位问题
转载链接:https://blog.csdn.net/wang729506596/java/article/details/81014739
一、若v-if切换的是逻辑复杂的控件时,切换时不重新渲染极易出问题
需要给要重新渲染的控件添加一个key属性,来唯一标识该控件,被key标识后会重新渲染。实例如下
<template v-if="type=== 'username'" key="1">
<label>用户名</label>
<input placeholder="输入用户名">
</template>
<template v-else key="2">
<label>邮箱</label>
<input placeholder="输入邮箱">
</template>
二、v-if和v-else或v-else-if之间不能添加其他元素。
以下是错误事例
<span v-if="type==1">错误示范</span>
<span>哈哈哈</span>
<p v-else>嘿嘿嘿</p>
以下是正确实例
<span v-if="type==1">正确示范</span>
<p v-else>嘿嘿嘿</p>
<span>哈哈哈</span>
v-if 为同一类型组件(或同一模板的dom树)来做显示和隐藏时,最好在最外层添加key属性来设定唯一标识,否则容易出问题
<template v-if="type=== 'username'">
<label>用户名</label>
<input placeholder="输入用户名">
</template>
<template v-else>
<label>邮箱</label>
<input placeholder="输入邮箱">
</template>
以上代码切换时,仅仅切换placeholder,而不会重新渲染,因为他用了相同的模板
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2019-04-23 C# 把字符串类型日期转换为日期类型(转载)