vue data恢复初始化数据的实现方法


Posted in Javascript onOctober 31, 2019

在我们进行vue开发过程中,经常会保存一些页面,此时,我们在app.vue的配置如下,

<keep-alive>
 <router-view v-if="$route.meta.keepAlive"></router-view>
 </keep-alive>

以此来保存页面,那么在再次进入这些页面的时候,我们需要重置该页面的原始数据,那么该如何进行呢?是不是要讲每个数据进行重写,答案是否定的。利用Object.assign 以及vue的数据可以快速重置。

Object.assign(this.$data, this.$options.data())

Object.assign() ----详解

Object.assign(target, ...sources)

参数: target 目标对象。sources 源对象。

返回值:目标对象。

描述

如果目标对象中的属性具有相同的键,则属性将被源对象中的属性覆盖。后面的源对象的属性将类似地覆盖前面的源对象的属性。

Object.assign 方法只会拷贝源对象自身的并且可枚举的属性到目标对象。该方法使用源对象的[[Get]]和目标对象的[[Set]],所以它会调用相关 getter 和 setter。因此,它分配属性,而不仅仅是复制或定义新的属性。如果合并源包含getter,这可能使其不适合将新属性合并到原型中。为了将属性定义(包括其可枚举性)复制到原型,应使用Object.getOwnPropertyDescriptor()和Object.defineProperty() 。

String类型和 Symbol 类型的属性都会被拷贝。

在出现错误的情况下,例如,如果属性不可写,会引发TypeError,如果在引发错误之前添加了任何属性,则可以更改target对象。

注意,Object.assign 不会跳过那些值为 null 或 undefined 的源对象。

注意:针对深拷贝,需要使用其他办法,因为 Object.assign()拷贝的是属性值。假如源对象的属性值是一个对象的引用,那么它也只指向那个引用。

以上这篇vue data恢复初始化数据的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
简单的js分页脚本
May 21 Javascript
javascript学习笔记(八) js内置对象
Jun 19 Javascript
js 延迟加载 改变JS的位置加快网页加载速度
Dec 11 Javascript
jquery中.add()的使用分析
Apr 26 Javascript
利用进制转换压缩数字函数分享
Jan 02 Javascript
兼容各大浏览器的JavaScript阻止事件冒泡代码
Jul 09 Javascript
js如何判断是否在iframe中及防止网页被别站用iframe嵌套
Jan 11 Javascript
vue中的模态对话框组件实现过程
May 01 Javascript
浅谈webpack SplitChunksPlugin实用指南
Sep 17 Javascript
JQuery判断radio单选框是否选中并获取值的方法
Jan 17 jQuery
vue2 中二级路由高亮问题及配置方法
Jun 10 Javascript
vue+animation实现翻页动画
Jun 29 Javascript
vue和iview实现Scroll 数据无限滚动功能
Oct 31 #Javascript
vue 使用鼠标滚动加载数据的例子
Oct 31 #Javascript
axios 实现post请求时把对象obj数据转为formdata
Oct 31 #Javascript
Javascript和jquery在selenium的使用过程
Oct 31 #jQuery
使用axios发送post请求,将JSON数据改为form类型的示例
Oct 31 #Javascript
vue封装可复用组件confirm,并绑定在vue原型上的示例
Oct 31 #Javascript
关于vue表单提交防双/多击的例子
Oct 31 #Javascript
You might like
改德生G88 - 加装等响度低音提升电路
2021/03/02 无线电
php面向对象全攻略 (三)特殊的引用“$this”的使用
2009/09/30 PHP
PHP 数据结构 算法 三元组 Triplet
2011/07/02 PHP
微信支付开发教程(一)微信支付URL配置
2014/05/28 PHP
/etc/php-fpm.d/www.conf 配置注意事项
2017/02/04 PHP
iframe 自适应高度[在IE6 IE7 FF下测试通过]
2009/04/13 Javascript
基于JQUERY的两个ListBox子项互相调整的实现代码
2011/05/07 Javascript
JS对象与JSON格式数据相互转换
2012/02/20 Javascript
jQuery表单获取和失去焦点输入框提示效果的实例代码
2013/08/01 Javascript
jQuery把表单元素变为json对象
2013/11/06 Javascript
javascript实现信息的显示和隐藏如注册页面
2013/12/03 Javascript
JQuery $.each遍历JavaScript数组对象实例
2014/09/01 Javascript
js 通过cookie实现刷新不变化树形菜单
2014/10/30 Javascript
javascript内置对象操作详解
2015/02/04 Javascript
jQuery oLoader实现的加载图片和页面效果
2015/03/14 Javascript
jQuery构造函数init参数分析
2015/05/13 Javascript
js与jQuery实现checkbox复选框全选/全不选的方法
2016/01/05 Javascript
JS实现的几个常用算法
2016/11/12 Javascript
js实现随机点名小功能
2017/08/17 Javascript
用js实现before和after伪类的样式修改的示例代码
2017/09/07 Javascript
详解http访问解析流程原理
2017/10/18 Javascript
在Vue项目中引入JQuery-ui插件的讲解
2019/01/27 jQuery
从零学Python之引用和类属性的初步理解
2014/05/15 Python
python通过socket实现多个连接并实现ssh功能详解
2017/11/08 Python
Python获取本机所有网卡ip,掩码和广播地址实例代码
2018/01/22 Python
Python的CGIHTTPServer交互实现详解
2018/02/08 Python
Python3中的tuple函数知识点讲解
2021/01/03 Python
Sandro Paris美国官网:典雅别致的法国时尚服饰品牌
2017/12/26 全球购物
DJI美国:消费类无人机领域的领导者
2018/04/27 全球购物
拉夫劳伦爱尔兰官方网站:Ralph Lauren爱尔兰
2020/04/10 全球购物
高分子材料与工程专业个人求职信
2013/12/15 职场文书
干部选拔任用方案
2014/05/26 职场文书
检察机关个人对照检查材料
2014/09/15 职场文书
学校中秋节活动总结
2015/03/23 职场文书
SSM VUE Axios详解
2021/10/05 Vue.js
Redis批量生成数据的实现
2022/06/05 Redis