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 相关文章推荐
实用框架(iframe)操作代码
Oct 23 Javascript
JavaScript分析、压缩工具JavaScript Analyser
Dec 31 Javascript
学习Javascript面向对象编程之封装
Feb 23 Javascript
JavaScript 消息框效果【实现代码】
Apr 27 Javascript
Bootstrap组件系列之福利篇几款好用的组件(推荐二)
Jul 12 Javascript
从零学习node.js之利用express搭建简易论坛(七)
Feb 25 Javascript
js实现华丽的九九乘法表效果
Mar 29 Javascript
微信小程序基于Taro的分享图片功能实践详解
Jul 12 Javascript
Vue + Node.js + MongoDB图片上传组件实现图片预览和删除功能详解
Apr 29 Javascript
javascript中的offsetWidth、clientWidth、innerWidth及相关属性方法
May 14 Javascript
如何在postman测试用例中实现断言过程解析
Jul 09 Javascript
解决vue侦听器watch,调用this时出现undefined的问题
Oct 30 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
第二节 对象模型 [2]
2006/10/09 PHP
PHP 第二节 数据类型之数组
2012/04/28 PHP
将时间以距今多久的形式表示,PHP,js双版本
2012/09/25 PHP
IIS+fastcgi下PHP运行超时问题的解决办法详解
2013/06/20 PHP
php连接Access数据库错误及解决方法
2013/06/20 PHP
基于JQuery的一句话搞定手风琴菜单
2012/09/14 Javascript
div当滚动到页面顶部的时候固定在顶部实例代码
2013/05/27 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
2013/10/24 Javascript
js获取电脑分辨率的思路及操作
2013/11/22 Javascript
node.js中的fs.readlink方法使用说明
2014/12/17 Javascript
jQuery中dequeue()方法用法实例
2014/12/29 Javascript
Bootstrap教程JS插件滚动监听学习笔记分享
2016/05/18 Javascript
动态设置form表单的action属性的值的简单方法
2016/05/25 Javascript
Backbone中View之间传值的学习心得
2016/08/09 Javascript
JavaScript和JQuery获取DIV值的方法示例
2017/03/07 Javascript
Angular2+国际化方案(ngx-translate)的示例代码
2017/08/23 Javascript
nodejs搭建本地服务器并访问文件操作示例
2019/05/11 NodeJs
浅谈redux, koa, express 中间件实现对比解析
2019/05/23 Javascript
使用layer弹窗,制作编辑User信息页面的方法
2019/09/27 Javascript
vue中keep-alive内置组件缓存的实例代码
2020/04/16 Javascript
查看keras各种网络结构各层的名字方式
2020/06/11 Python
如何验证python安装成功
2020/07/06 Python
详解pandas映射与数据转换
2021/01/22 Python
美国高级音响品牌:Master&Dynamic
2018/07/05 全球购物
爱奇艺VIP会员:大剧抢先看
2018/07/11 全球购物
Crucial英睿达法国官网:内存条及SSD固态硬盘升级
2018/07/13 全球购物
玉兰油美国官网:OLAY美国
2018/10/25 全球购物
欧洲最大的预定车位市场:JustPark
2020/01/06 全球购物
施工材料员岗位职责
2014/02/12 职场文书
霸王洗发水广告词
2014/03/14 职场文书
新员工考核评语
2014/12/31 职场文书
关于国庆节的广播稿
2015/08/19 职场文书
如何利用map实现Nginx允许多个域名跨域
2021/03/31 Servers
使用Djongo模块在Django中使用MongoDB数据库
2021/06/20 Python
小程序与后端Java接口交互实现HelloWorld入门
2021/07/09 Java/Android
Android实现图片九宫格
2022/06/28 Java/Android