欢迎来到代码驿站!

vue

当前位置:首页 > 网页前端 > vue

vue恢复初始数据this.$data,this.$options.data()解析

时间:2022-12-20 10:11:34|栏目:vue|点击:

vue恢复初始数据this.$data,this.$options.data()

vue恢复初始数据

在vue开放中我们会遇到一个页面或者一个弹窗让他恢复到原始数据的情况,如果数据不多我们可以重设赋值一下,但数据较多的情况下会比较麻烦,这时候可以用到

this.$datathis.$options

  • this.$options.data()这个是vue原始的数据,就是你页面刚加载时的data
  • this.$data这个是现在阶段的vue数据,就是你改变data的数据

下面是一个弹窗的数据,在弹窗关闭时恢复数据,这里使用Object.assign将原始数据和现在的数据融合,会将改变的数据重置到初始状态

watch: {
    ShowModal(val) {
      if (!val) {
        Object.assign(this.$data, this.$options.data())
      }
    }
  }

如果只想让一个数据恢复到以前

this.base = this.$options.data().base

this.$options.data()和this.$data你知多少

场所描述

  • 如何获取vue-data中的所有值?
  • 如何获取vue-data中的某一个值?
  • 如何获取vue-data中的初始值?
  • 如何设置data中的值位初始值?

主角登场

this.options.data() 和 this.data

<template>
    <div>
        <button @click="gotos">改变</button>
        <button @click="obtain">获取改变后的值</button>
        <button @click="inithander">获取初始状态下的值</button>
        <button @click="reset">重置</button>
    </div>
</template>
<script>
export default {
    data(){
        return{
            // https://www.jianshu.com/p/05697682a46f
            obj:{
                name:'张三',
                age:'李四',
                sex:'男'
            },
            subjective:{
                info:'ok'
            }
        }
    },
    methods:{
        gotos(){
            this.obj.sex='我改变了性别'
        },
        //获取vue中data中的所有值 当然data中的值也有可能是被改变了的
        obtain(){
            console.log('vue中data中的所有值',this.$data);
        },
        // 获取组件下初始状态下的值;就是你在data中最初写的值
        inithander(){
            console.log('初始状态下的值',this.$options.data());
        },
        // 重置值
        reset(){
            Object.assign(this.$data.obj,{name:'',age:'', sex:''});
            // 还可以使用   Object.assign(this.$data.obj,this.$options.data().obj); //前提是obj的值是空
            console.log('重置', this.obj )
        }
    }
}
</script>

上一篇:vue实现动态控制表格列的显示隐藏

栏    目:vue

下一篇:vue后台管理如何配置动态路由菜单

本文标题:vue恢复初始数据this.$data,this.$options.data()解析

本文地址:http://www.codeinn.net/misctech/221763.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有