打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
vue数据丢失的4中情况和解决方法(附视频教程)

数据丢失是框架的BUG,vue中的数据绑定是通过ES5中属性的特性实现的。所以没有设置特性的数据,就会丢失。以下mounted中的四种操作都会导致数据丢失。

<template>
<div>
<div>{{ colors }}</div>
<div>{{ obj }}</div>
<div>{{ intro }}</div>
</div>
</template>

<script>
export default {
data() {
return {
colors: ["red", "green", "blue"],
obj: {},
};
},
mounted() {
// 1 数组中的值类型修改
this.colors[1] = "pink";
// 2 数组中的新成员
this.colors[3] = "gold";
// 3 对象中的新属性
this.obj.size = 200;
// 4 未初始化的数据
this.intro = "111111";
},
};
</script>

解决方法:

第1,2种情况 使用新数组替换之前的老数组

this.colors = ["red", "pink", "blue","gold"]

第3种情况 使用新对象替换之前的老对象

this.obj = {siz: 200}

第4种情况 初始化这类数据即可

data() {
return {
colors: ["red", "green", "blue"],
obj: {},
intro: '' // 初始化info
};
},

除此之外,还可以使用vue提供的$set方法

this.$set(this.colors, 1, pink)  // 修改数组的数据
this.$set(this.obj, 'size', 200) // 修改对象的数据
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Vue实现对数组、对象的深拷贝、复制
vue项目中,数据更新,试图不更新是什么情况?怎么解决?
vue入门基础教程之经验总结篇(小白入门必备)|建议收藏
Vue响应原理 definedProperty与proxy实现数据双向绑定
一探 Vue 数据响应式原理
Vue中你可能认为是bug的情况原来是这样的
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服