<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<div id="app">
<div v-for="value in data" @click="fn">
{{value}}
</div>
{{msg}}
</div>
</body>
<script type="text/javascript" src="./vue1.js"></script>
<script type="text/javascript">
var vm = new Vue({
el: "#app",
data:{
data:[{a:1},{a:2},5,4,51,4],
msg:""
},
watch:{
data () {
return this.msg=[1,12,1,1,1,21,2,1]
}
},
methods:{
fn(){
this.data[0].a=2
}
}
})
</script>
</html>
从页面显示结果:可以看出watch没有检测到data数据的内部值得改变,换句话数,data检测数据的地址的改变