$data
1 .Vue实例观察的数据对象,Vue实例代理了对其data对象属性的访问
$el
1 .Vue实例使用的根DOM元素
$options
1 .用于当前Vue实例的初始化选项,需要在选项中包含自定义属性时会有处理
$parent
1 .父实例,如果有的话
$root
1 .当前组件树的根Vue实例,如果当前实例没有父实例的话,此实例会是自己
$children
1 .当前实例的直接子组件
2 .注意是子组件,还是直接的
3 .不能保证顺序,也不是响应式的
4 .如果发现自己尝试使用$children 来进行数据绑定,考虑使用一个数组配合v-fork来生成子组件,并且使用Array作为真正的来源
$slot
1 .用来访问被slot分发的内容,每个具名slot都具有相应的属性
2 .default属性包括了所有没有被包含在slot中的节点
$scopedSlots
1 .用来访问scoped slots
$refs
2 . 一个对象,包含了所有拥有ref 注册的子组件
$isServer
1 .当前实例是否运行于服务器
$props
1 .当前组件接收到的props对象
2 .vue实例代理了对其props对象属性的访问
$attrs
1 .包含了父作用域中不作为prop被识别的特性绑定,除了class和style
2 .当一个组件没有声明任何prop时,这里会包含所有父作用域的绑定,并且可以通过v-bind="$attrs"传入内部组件--在创建高级别的组件时非常有用
3 .
$listeners
1 .包含了父作用域中的时间监听器,可以通过v-on="$listeners"传入内部组件--在创建更高层次的组件时非常有用
添加实例属性
1 .在很多组件里用到的数据和实例,但是你并不像污染全局作用域,这个时候就可以通过在原型上定义他们使得在每个Vue实例中都是可用的
2 .Vue.propotype.$appName='liba'
3 .这样appName就可以在所有Vue实例中使用了,甚至在实例被创建之前就可以使用
4 .为实例属性设置作用域的重要性
1 .其实主要就是为了使用这个属性的时候和本组件的定义的data数据冲突
2 .加一个$,是虽有实例中都可以使用的属性的一个简单约定。这样做会避免和已被定义的数据,方法,计算属性产生冲突
3 .通过$为实例属性设置作用域来避免这种事情发生
4 .原型方法定义的this,是可以访问到这个实例的data数据,也就是说他们可以使用this访问数据,计算属性,方法或其他任何定义在使实例上的东西
5 .注意,使用es6的箭头函数是无法获取到绑定的上下文的,因为他们会隐式的绑定其父级作用域。
6 .