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
}
}
})