Getting the old and new value from watch

How can I return just the 2 values (oldVal and newVal) from the watch function?
I tried lodash difference but it only returns the new value. I need to have both values.

Computed function:

test() {
      return JSON.stringify(this.survey1)
    },

watch function:

test(newVal, oldVal) {
      const me = JSON.parse(newVal)
      const oldMe = JSON.parse(oldVal)
      console.log('new', me, 'old', oldMe)
      /* _.difference(me.question, oldMe.question, _.isEqual)
      console.log('lodash', _.differenceBy(me.question, oldMe.question)) */
    },

Hi @ChrisRAra
You can save values in object and assign it to a variable, then use that variable.
Please find the below code:

<template>
  <div>
    {{ testValues }}
    <button @click="test = !test">click</button>
  </div>
</template>

<script>
export default {
  name: "HelloWorld",
  data() {
    return {
      test: false,
      testValues: null,
    };
  },
  watch: {
    // whenever question changes, this function will run

    test(newQuestion, oldQuestion) {
      console.log(oldQuestion);
      console.log(newQuestion);
      this.testValues = {
        oldQuestion,
        newQuestion,
      };
    },
  },
};
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
h3 {
  margin: 40px 0 0;
}
ul {
  list-style-type: none;
  padding: 0;
}
li {
  display: inline-block;
  margin: 0 10px;
}
a {
  color: #42b983;
}
</style>

Src Code: magical-breeze-hc2tgv - CodeSandbox
Hope this helps.