vue watch object code example

Example 1: vue watch deep property

watch: {
  item: {
     handler(val){
       // do stuff
     },
     deep: true
  }
}

Example 2: vue change deep element

Vue.set(vm.someObject, 'b', 2) //for objects
Vue.set(vm.items, indexOfItem, newValue) //forarrays

Example 3: vue watch child property

...
watch:{
    'item.someOtherProp'(newVal){
        //to work with changes in "myArray"
    },
    'item.prop'(newVal){
        //to work with changes in prop
    }
}

Example 4: vue watch props

new Vue({
  el: '#app',
  data: {
    text: 'Hello'
  },
  components: {
    'child' : {
      template: `<p>{{ myprop }}</p>`,
      props: ['myprop'],
      watch: { 
      	myprop: function(newVal, oldVal) { // watch it
          console.log('Prop changed: ', newVal, ' | was: ', oldVal)
        }
      }
    }
  }
});

Example 5: vue watch object member

// Use a deep watcher for that:

watch: {
  item: {
     handler(val){
       // do stuff
     },
     deep: true
  }
}