美文网首页
vue实例属性

vue实例属性

作者: Ishmael丶Yoko | 来源:发表于2018-08-16 16:36 被阅读0次

vm.$data

类型:Object【对象】
详细:Vue 实例观察的数据对象。Vue 实例代理了对其 data 对象属性的访问。
参考:选项 / 数据 - data

vm.$props

类型:Object【对象】
详细:当前组件接收到的 props 对象。Vue 实例代理了对其 props 对象属性的访问。

vm.$el

类型:HTMLElement 【DOM】
只读
详细:Vue 实例使用的根 DOM 元素。

vm.$options

类型:Object 【对象】
只读
详细:用于当前 Vue 实例的初始化选项。需要在vue实例中包含自定义属性时会有用处:

new Vue({
customOption: 'foo',
created: function () {
    console.log(this.$options.customOption) // => 'foo'
}
})

vm.$parent

类型:Vue instance 【vue实例】
只读
详细:父实例,如果当前实例有的话。

vm.$root

类型:Vue instance【vue实例】
只读
详细:当前组件树的根 Vue 实例。如果当前实例没有父实例,此实例将会是其自己。

vm.$children

类型:Array<Vue instance> 【vue实例】
只读
详细:当前实例的直接子组件。需要注意$children 并不保证顺序,也不是响应式的。如果你发现自己正在尝试使用 $children 来进行数据绑定,考虑使用一个数组配合 v-for 来生成子组件,并且使用 Array 作为真正的来源。

vm.$slots

类型:{ [name: string]: ?Array<VNode> }
只读
详细:用来访问被插槽分发的内容。每个具名插槽 有其相应的属性 (例如:slot="foo" 中的内容将会在 vm.$slots.foo 中被找到)。default 属性包括了所有没有被包含在具名插槽中的节点。
在使用渲染函数书写一个组件时,访问 vm.$slots 最有帮助。
示例:

<blog-post>
<h1 slot="header">
About Me
</h1>
<p>Here's some page content, which will be included in vm.$slots.default, because it's not inside a named slot.</p>
<p slot="footer">
Copyright 2016 Evan You
</p>
<p>If I have some content down here, it will also be included in vm.$slots.default.</p>.
</blog-post>

<script>
Vue.component('blog-post', {
    render: function (createElement) {
        var header = this.$slots.header
        var body = this.$slots.default
        var footer = this.$slots.footer
        return createElement('div', [
            createElement('header', header),
            createElement('main', body),
            createElement('footer', footer)
      ])
}
</script>
})

参考:

  • <slot> 组件
  • 使用插槽分发内容
  • 渲染函数 - 插槽

vm.$scopedSlots

2.1.0 新增类型:{ [name: string]: props => VNode | Array<VNode> }
只读
详细:用来访问作用域插槽。对于包括 默认 slot 在内的每一个插槽,该对象都包含一个返回相应 VNode 的函数。
vm.$scopedSlots 在使用渲染函数开发一个组件时特别有用。
参考:

  • <slot> 组件
  • 作用域插槽
  • 渲染函数 - 插槽

vm.$refs

类型:Object 【对象】
只读
详细:一个对象,持有注册过 ref 特性 的所有 DOM 元素和组件实例。
参考:

  • 子组件引用
  • 特殊特性 - ref

vm.$isServer

类型:boolean
只读
详细:当前 Vue 实例是否运行于服务器。
参考:服务端渲染

vm.$attrs

类型:{ [key: string]: string }
只读
详细:包含了父作用域中不作为 prop 被识别 (且获取) 的特性绑定 (class 和 style 除外)。当一个组件没有声明任何 prop 时,这里会包含所有父作用域的绑定 (class 和 style 除外),并且可以通过 v-bind="$attrs" 传入内部组件——在创建高级别的组件时非常有用。

vm.$listeners

类型:{ [key: string]: Function | Array<Function> }
只读
详细:包含了父作用域中的 (不含 .native 修饰器的) v-on 事件监听器。它可以通过 v-on="$listeners" 传入内部组件——在创建更高层次的组件时非常有用。
实例方法 / 数据

vm.$watch( expOrFn, callback, [options] )

参数:

  • {string | Function} expOrFn
  • {Function | Object} callback
  • {Object} [options]
  • {boolean} deep
  • {boolean} immediate
    返回值:{Function} unwatch
    用法:
    观察 Vue 实例变化的一个表达式或计算属性函数。回调函数得到的参数为新值和旧值。表达式只接受监督的键路径。对于更复杂的表达式,用一个函数取代。
    注意:在变异 (不是替换) 对象或数组时,旧值将与新值相同,因为它们的引用指向同一个对象/数组。Vue 不会保留变异之前值的副本。
    示例:
// 键路径
vm.$watch('a.b.c', function (newVal, oldVal) {
// 做点什么
})
// 函数
vm.$watch(
function () {
return this.a + this.b
},
function (newVal, oldVal) {
// 做点什么
}
)
//vm.$watch 返回一个取消观察函数,用来停止触发回调:
var unwatch = vm.$watch('a', cb)
// 之后取消观察
unwatch()
选项:deep
为了发现对象内部值的变化,可以在选项参数中指定 deep: true 。注意监听数组的变动不需要这么做。
vm.$watch('someObject', callback, {
deep: true
})
vm.someObject.nestedValue = 123
// callback is fired
选项:immediate
在选项参数中指定 immediate: true 将立即以表达式的当前值触发回调:
vm.$watch('a', callback, {
immediate: true
})

// 立即以 a的当前值触发回调

vm.$set( target, key, value )

参数:

  • {Object | Array} target
  • {string | number} key
  • {any} value

返回值:设置的值。
用法:
这是全局 Vue.set 的别名。
参考:Vue.set

vm.$delete( target, key )

参数:

  • {Object | Array} target
  • {string | number} key

用法:
这是全局 Vue.delete 的别名。
参考:Vue.delete

相关文章

  • Vue筛选日期 和 Vue实例的属性 计算属性

    Vue筛选日期实例: Vue实例的属性 计算属性 计算属性:案例:hello Vue变成 Vue===hello ...

  • Vue筛选日期 和 Vue实例的属性 计算属性

    Vue筛选日期实例: Vue实例的属性 计算属性 计算属性:案例:hello Vue变成 Vue===hello ...

  • Vue进阶

    Vue实例 Vue实例生命周期函数 Vue模板语法 Vue计算属性、方法、侦听器 Vue计算属性的setter和g...

  • Vue.js 1.0 Official Guide Note

    Vue 实例 属性和方法 每个 Vue 实例都会代理其 data 对象里所有的属性:var data = { a:...

  • Vue核心知识总结

    一、Vue实例 1、Vue属性 1、$mount挂载 2、Vue属性:props、options、children...

  • 2021-02-05 关于vue中的$符号总结,以及$在js中

    vue的实例属性和方法 除了数据属性,Vue 实例还暴露了一些有用的实例属性与方法。它们都有前缀 $,以便与用户定...

  • vue知识总结

    vue attribute 是元素标签的属性,property 是元素对象的属性 vue实例 实例生命周期钩子 每...

  • vue

    ## Vue 实例 Vue 实例还暴露了一些有用的实例属性与方法。它们都有前缀 $,以便与用户定义的属性区分开来 ...

  • Vue知识点整理

    1. Vue实例 每个 Vue 应用都是通过用 Vue 函数创建一个新的 Vue 实例开始的。 常用实例属性 ap...

  • Vue 基础

    Vue 实例 1. Vue实例 2. 实例属性 3. 实例方法/数据 4. 实例方法/事件 5. 实例方法/生命周...

网友评论

      本文标题:vue实例属性

      本文链接:https://www.haomeiwen.com/subject/dtjobftx.html