每个Vue.js应用都是通过构造函数Vue创建一个Vue的根实例启动的:
var vm = new Vue({
//选项,实例化时需要传入一个选项对象
})
可以扩展构造器,从而用预定义选项创建可复用的组件构造器
var MyComponent = Vue.extend({
// 扩展选项
})
// 所有的 `MyComponent` 实例都将以预定义的扩展选项被创建
var myComponentInstance = new MyComponent()
所有的 Vue.js 组件其实都是被扩展的 Vue 实例
属性与方法
每个Vue实例都会代理其data对象里所有的属性
var data = { a : 1}
var vm = new Vue({
data :data
})
vm.a===data.a
vm.a=2
data.a->2
data.a=3
vm.a->3
注意只有这些被代理的属性是响应的,也就是说值的任何改变都是触发视图的重新渲染
除了 data 属性, Vue 实例暴露了一些有用的实例属性与方法。这些属性与方法都有前缀 $,以便与代理的 data 属性区分。例如:
var data = { a: 1 }
var vm = new Vue({
el: '#example',
data: data
})
vm.$data===data
vm.$el===document.getElementById('example')
//$watch是一个实例方法
vm.$watch('a',function(newVal,oldVal){
//这个回调将在vm.a改变后调用
})