watch vue object differences code example

Example 1: vue watch deep

export default {
  name: 'ColorChange',
  props: {
    colors: {
      type: Array,
      required: true,
    },
  },
  watch: {
    colors: {
      // This will let Vue know to look inside the array
      deep: true,

      // We have to move our method to a handler field
      handler(value) {
        console.log('The list of colors has changed!', value);
      }
    }
  }
}

Example 2: using the watch method to monitor route updates in vue

watch: {
  // Whenever the movie prop changes, fetch new data
  movie {
    handler: 'fetchData'
  },
  // Whenever the actor changes, we'll call the same method
  actor: {
    handler: 'fetchData',
  }
},

methods: {
  // Fetch data about the movie
  fetchData() {
    fetch(`/${this.movie}/${this.actor}`).then((data) => {
      this.movieData = data;
    });
  }
}