Vue实例属性

$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 .
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容