JSFiddle - React, Tailwind, and code Playground

HTML

<div id="demo">
  <button @click="change">change</button>
  <pre>{{ $data | json }}</pre>
</div>

JavaScript

new Vue({
	el: '#demo',
  data: {
  	things: [{foo:1}, {foo:2}]
  },
  watch: {
  	things: {
      handler: function (val, oldVal) {
      	alert('a thing changed')
      },
      deep: true
    }
  },
  methods: {
  	change: function () {
	    this.things[0].foo = 5
    }
  }
})