Vue resets data to its initial state

Vue resets data to its initial state

In some cases, the data in data needs to be reused, but the data in data has been assigned to various forms, variables, etc., so how to reset the value of data?

1. Assign values ​​one by one

...
data() {
 return {
 name: '',
 sex: '',
 desc: ''
 }
}
...
// Assign values ​​one by one this.name = ''
this.sex = ''
this.desc = ''

This method is clumsy, and of course it can achieve the desired effect, but it is troublesome to reassign values ​​one by one and the code will look messy.

The following method is definitely what you like, one line of code to get it done~

2. Use Object.assign()

MDN introduction to this method: The Object.assign() method is used to copy the values ​​of all enumerable properties from one or more source objects to a target object. It will return the target object.

Usage: Object.assign(target, ...sources)

The first parameter is the target object, and the second parameter is the source object, which means copying the source object properties to the target object and returning the target object.

This is to copy the properties of one object to another object

In Vue:

this.$data gets the data in the current state

this.$options.data() Get the data of the component in its initial state

Therefore, we can copy the data of the initial state to the data of the current state to achieve the reset effect:

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

Of course, if you only want to reset a certain object or attribute in data:

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

Extensions

The Object.assign(target, ...sources) method can also be used to merge objects:

const o1 = { a: 1 };
const o2 = { b: 2 };
const o3 = { c: 3 };
const obj = Object.assign(o1, o2, o3);
console.log(obj); // { a: 1, b: 2, c: 3 }
console.log(o1); // { a: 1, b: 2, c: 3 }, Note that the target object itself will also change.

If the object contains the same attributes, take the last attribute:

const o1 = { a: 1, b: 1, c: 1 };
const o2 = { b: 2, c: 2 };
const o3 = { c: 3 };
const obj = Object.assign({}, o1, o2, o3);
console.log(obj); // { a: 1, b: 2, c: 3 } The property takes the property of the last object

The above is my personal experience. I hope it can give you a reference. I also hope that you will support 123WORDPRESS.COM. If there are any mistakes or incomplete considerations, please feel free to correct me.

You may also be interested in:
  • How to implement vue data to restore initialization data
  • Vue restores data to its initial state && re-renders the component instance
  • Computed properties and data acquisition methods in Vue
  • How to initialize data in Vue

<<:  How to use squid to build a proxy server for http and https

>>:  MySql forgotten password modification method is suitable for versions 5.7 and above

Recommend

mysql5.7.22 download process diagram

1. Go to the official website www.mysql.com and s...

Analysis of Nginx Rewrite usage scenarios and configuration methods

Nginx Rewrite usage scenarios 1. URL address jump...

MySQL query statement simple operation example

This article uses examples to illustrate the simp...

How to view image information in Docker

In this article, we will need to learn how to vie...

Solve the problem that the time zone cannot be set in Linux environment

When changing the time zone under Linux, it is al...

JavaScript determines whether the browser is IE

As a front-end developer, I can’t avoid IE’s pitf...

jQuery implements ad display and hide animation

We often see ads appear after a few seconds and t...

Introduction and usage examples of ref and $refs in Vue

Preface In JavaScript, you need to use document.q...

React Principles Explained

Table of contents 1. setState() Description 1.1 U...

MySQL 8.0.15 installation and configuration tutorial under Win10

What I have been learning recently involves knowl...

Share 12 commonly used Loaders in Webpack (Summary)

Table of contents Preface style-loader css-loader...

Interactive experience trends that will become mainstream in 2015-2016

The most important interactive design article in ...