直接上代码:
var app = {sanfu:"vueJS是一个好框架"}
var vm = new Vue({
el:"#container",
data:app
})
//除了 data 属性, Vue 实例暴露了一些有用的实例属性与方法。这些属性与方法都有前缀 $。也就是说vue实例
//可以访问构造函数里面的属性,但必须前面加上$,以作和代理的data属性区分
vm.$el==document.getElementById("container")//true
// 同理
vm.$data == app//true;区别于vm.data是直接访问是构造函数data属性中,data数据;
vm.$watch("sanfu",function(newOne,oldOne){
console.log(oldOne)
})
//监控sanfu数据变化,当vm.sanfu变化的时候才会执行回调函数
vm.sanfu = "aha!"//此时就会执行那个回调函数,因为sanfu的值发生了变化
一句话总结之,Vue的实例是构造Vue应用的基础, Vue实例能够代理(访问)data对象里面的属性和数据,现在数据是能够访问了,那么问题来了,如果我要访问构造函数里面的属性怎么办呢?答案当然是通过Vue实例就可以解决-- Vue实例也能够访问构造函数中的属性和方法,但前提是在属性和方法前加$,以便和代理的data属性区分