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 相关文章推荐
jQuery.Validate 使用笔记(jQuery Validation范例 )
Jun 25 Javascript
JavaScript高级程序设计 读书笔记之十 本地对象Date日期
Feb 27 Javascript
jQuery 隐藏和显示 input 默认值示例
Jun 03 Javascript
JavaScript函数的一些注意要点小结及js匿名函数
Nov 10 Javascript
AngularJS使用ng-options指令实现下拉框
Aug 23 Javascript
JavaScript常用正则验证函数实例小结【年龄,数字,Email,手机,URL,日期等】
Jan 23 Javascript
jQuery查找dom的几种方法效率详解
May 17 jQuery
微信小程序开发教程之增加mixin扩展
Aug 09 Javascript
layui select动态添加option的实例
Mar 07 Javascript
jQuery实现的电子时钟效果完整示例
Apr 28 jQuery
el-table表头根据内容自适应完美解决表头错位和固定列错位
Jan 07 Javascript
js实现简单的倒计时
Jan 28 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
[原创]PHPCMS遭遇会员投稿审核无效的解决方法
2017/01/11 PHP
学习thinkphp5.0验证类使用方法
2017/11/16 PHP
php操作mongodb封装类与用法实例
2018/09/01 PHP
Js base64 加密解密介绍
2013/10/11 Javascript
无刷新预览所选择的图片示例代码
2014/04/02 Javascript
原生js的弹出层且其内的窗口居中
2014/05/14 Javascript
js中取得变量绝对值的方法
2015/01/03 Javascript
JS控制弹出新页面窗口位置和大小的方法
2015/03/02 Javascript
jquery动态创建div与input的实例代码
2016/10/12 Javascript
详解vue-cli 脚手架项目-package.json
2017/07/04 Javascript
require.js中的define函数详解
2017/07/10 Javascript
webpack打包react项目的实现方法
2018/06/21 Javascript
原生JS实现DOM加载完成马上执行JS代码的方法
2018/09/07 Javascript
Node.js操作系统OS模块用法分析
2019/01/04 Javascript
jQuery操作动画完整实例分析
2020/01/10 jQuery
js实现表格数据搜索
2020/08/09 Javascript
python操作xml文件详细介绍
2014/06/09 Python
Python yield 使用方法浅析
2017/05/20 Python
python利用urllib和urllib2访问http的GET/POST详解
2017/09/27 Python
python+matplotlib实现动态绘制图片实例代码(交互式绘图)
2018/01/20 Python
Python中一些不为人知的基础技巧总结
2018/05/19 Python
Django组件之cookie与session的使用方法
2019/01/10 Python
详解pandas删除缺失数据(pd.dropna()方法)
2019/06/25 Python
Python版中国省市经纬度
2020/02/11 Python
Python爬虫入门教程01之爬取豆瓣Top电影
2021/01/24 Python
详解前端HTML5几种存储方式的总结
2016/12/27 HTML / CSS
Omio中国:全欧洲低价大巴、火车和航班搜索和比价
2018/08/09 全球购物
GetYourGuide台湾:预订旅游活动、景点和旅游项目
2019/06/10 全球购物
单位未婚证明范本
2014/01/18 职场文书
庆元旦迎新年广播稿
2014/02/18 职场文书
委托书样本
2014/04/02 职场文书
2014年减负工作总结
2014/12/10 职场文书
党支部书记岗位职责
2015/02/15 职场文书
2016大学生社会实践心得体会范文
2016/01/14 职场文书
《伯牙绝弦》教学反思
2016/02/16 职场文书
vue router 动态路由清除方式
2022/05/25 Vue.js