For example, I want to access old data from watch properties in Vue.js. This is my example :
mounted(){
axios.get(url).then(({data})=>{
this.data = data //Initialize data to HTML. For example, username='A'
Object.assign(this.oldValues, {data : data}) //Copying data to OldValues. Both object it should has same value
})
},
data(){
return {
data : //data from mounted()
oldValues : //Copied from data
}
},
watch : {
data : {
handler : function(after, before){
console.log(this.data) // show updated value
console.log(this.oldValues) // Expect : show copied value from first mounted()
}
}
}
When I edited the data using v-model="data"
it triggers watch property successfully and showing a log like this.
<input v-model="data.username"> // 'AAA'
Log shown :
data.username = 'AAA' //From this.data
data.username = 'AAA' //From this.oldValues. Expect, keep show the first data. It should username = 'A'
So, any help?