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 相关文章推荐
Javascript解析URL方法详解
Dec 05 Javascript
jQuery配合coin-slider插件制作幻灯片效果的流程解析
May 13 Javascript
vue.js入门教程之绑定class和style样式
Sep 02 Javascript
jQuery实现表格文本框淡入更改值后淡出效果
Sep 27 Javascript
JS 调用微信扫一扫功能
Dec 22 Javascript
BootStrap学习系列之布局组件(下拉,按钮组[toolbar],上拉)
Jan 03 Javascript
简单易懂的天气插件(代码分享)
Feb 04 Javascript
实现div内部滚动条滚动到底部和顶部的代码
Nov 15 Javascript
Bootstrap实现省市区三级联动(亲测可用)
Jul 26 Javascript
解决vue中使用proxy配置不同端口和ip接口问题
Aug 14 Javascript
Vue实现push数组并删除的例子
Nov 01 Javascript
js实现图片实时时钟
Jan 15 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
PHP 数据结构 算法 三元组 Triplet
2011/07/02 PHP
php绘图中显示不出图片的原因及解决
2014/03/05 PHP
使用PHPCMS搭建wap手机网站
2015/09/20 PHP
PHP中调用C/C++制作的动态链接库的教程
2016/03/10 PHP
Yii中CGridView禁止列排序的设置方法
2016/07/12 PHP
php unicode编码和字符串互转的方法
2020/08/12 PHP
PHP实现二维数组中的查找算法小结
2018/06/09 PHP
JavaScript 获得选中文本内容的方法
2009/02/15 Javascript
JS在IE和FF下attachEvent,addEventListener学习笔记
2009/11/26 Javascript
详细讲解JS节点知识
2010/01/31 Javascript
一个背景云变换js特效 鼠标移动背景云变化
2012/12/28 Javascript
jquery中的过滤操作详细解析
2013/12/02 Javascript
使用javascript控制cookie显示和隐藏背景图
2014/02/12 Javascript
jQuery元素选择器用法实例
2014/12/23 Javascript
jQuery调用ajax请求的常见方法汇总
2015/03/24 Javascript
小白谈谈对JS原型链的理解
2016/05/03 Javascript
Javascript字符串拼接小技巧(推荐)
2016/06/02 Javascript
JS全局变量和局部变量最新解析
2016/06/24 Javascript
原生js实现jquery函数animate()动画效果的简单实例
2016/08/21 Javascript
js判断价格,必须为数字且不能为负数的实现方法
2016/10/07 Javascript
Vue.js手风琴菜单组件开发实例
2017/05/16 Javascript
angular使用post、get向后台传参的问题实例
2017/05/27 Javascript
vue watch自动检测数据变化实时渲染的方法
2018/01/16 Javascript
JS回调函数深入理解
2019/10/16 Javascript
vue3.0+vue-router+element-plus初实践
2020/12/02 Vue.js
python利用不到一百行代码实现一个小siri
2017/03/02 Python
python使用sqlite3时游标使用方法
2018/03/13 Python
python3.5绘制随机漫步图
2018/08/27 Python
Django的Modelforms用法简介
2019/07/27 Python
python的flask框架难学吗
2020/07/31 Python
美国咖啡批发网站:Coffee.org
2017/06/29 全球购物
爱尔兰旅游网站:ebookers.ie
2020/01/24 全球购物
广州喜创信息技术有限公司JAVA软件工程师笔试题
2012/10/17 面试题
自我鉴定范文
2013/11/10 职场文书
体操比赛口号
2014/06/10 职场文书
初三英语教学计划
2015/01/23 职场文书