vue中对:key的理解
Vue 理解 Key
2023-09-11 14:22:30 时间
以下这段代码没有写key值
会出现的问题是:
点击button,切换了类型,但是值却跟着过来了
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<div id="app">
<span v-if="isUser">
<label for="username">用户账号</label>
<input type="text" id="username" placeholder="用户账号" />
</span>
<span v-else>
<label for="email">用户邮箱</label>
<input type="text" id="email" placeholder="用户邮箱" />
</span>
<button @click="isUser=!isUser">切换类型</button>
</div>
</body>
<script src="js/vue.js"></script>
<script type="text/javascript">
const app=new Vue({
el:"#app",
data:{
isUser:true
}
})
</script>
</html>
原因是:
vue为了节约性能,对dom进行了复用,对比dom中各个节点,替换掉一些属性,同时又保留一些东西,
解决方法:
写上:key属性作为标识,告诉vue允不允许进行复用
<span v-if="isUser">
<label for="username">用户账号</label>
<input type="text" id="username" placeholder="用户账号" :key="1" />
</span>
<span v-else>
<label for="email">用户邮箱</label>
<input type="text" id="email" placeholder="用户邮箱" :key="2" />
</span>
相关文章
- (尚021)Vue_eslint编码规范检查
- vue - 总结build.js
- 【Vue】通过“插值语法”和“数据绑定”为html元素赋值(图文+完整示例)
- 【Javascript/Vue】如何解决js中超链接跳转到新的页面不被浏览器拦截?(已解决,代码实例,亲测有效)
- Vue创建一个路由项目(Vue Router)
- vue.js-详解三大流行框架VUE_快速进阶前端大咖-Vue基础
- vue从入门到进阶:简介(一)
- 02-vue基础-Vue常用特性
- VUE-015-解决 vue install 引发的 failed Error: not found: python2 问题
- VUE图片懒加载-vue lazyload插件的简单使用
- Vue之methods watch和compute的区别和联系
- vue-router路由传参之query和params
- vue-router模式history与hash
- Vue工程化之引入element-ui框架后图标失效
- Vue报错笔记(1)vue.esm.js?efeb:628 [Vue warn]: Property or method “handleClick“ is not defined on the...
- vue学习笔记六:Jquery VS Vue之网络请求明细对照
- vue学习笔记四:Jquery VS Vue之元素操作明细对照
- vue uni-app项目发布后刷新出现404错误的问题
- 模拟源码深入理解Vue数据驱动原理(1)
- 深入理解Vue父子组件通讯的属性和事件
- Vue-cli 4在vue.config.js中配置别名
- Vue 之 mockjs 结合 axios 在 vue 中的随机数据生成的简单使用
- Vue 之 Vuex 使用 vuex 实现一个todo 列表的简单实例
- Web 前端 之 Vue vue cli 环境的搭建简单整理(简单的一些注意事项)
- Django+Vue项目学习第二篇:vue项目创建
- vue是一个渐进式的框架,如何理解“渐进式”
- Vue开发实例(02)之将Vue项目代码导入到IDEA并运行