美文网首页
Vue 选项 data

Vue 选项 data

作者: black墨 | 来源:发表于2021-09-26 09:57 被阅读0次
  • 类型:Object | Function

  • 限制:组件的定义只接受 function。

  • 详细:

Vue 实例的数据对象。Vue 会递归地把 data 的 property 转换为 getter/setter,从而让 data 的 property 能够响应数据变化。对象必须是纯粹的对象 (含有零个或多个的 key/value 对):浏览器 API 创建的原生对象,原型上的 property 会被忽略。大概来说,data 应该只能是数据 - 不推荐观察拥有状态行为的对象。

一旦观察过,你就无法在根数据对象上添加响应式 property。因此推荐在创建实例之前,就声明所有的根级响应式 property。

实例创建之后,可以通过 vm.$data 访问原始数据对象。Vue 实例也代理了 data 对象上所有的 property,因此访问 vm.a 等价于访问 vm.$data.a。

以 _ 或$ 开头的 property 不会被 Vue 实例代理,因为它们可能和 Vue 内置的 property、API 方法冲突。你可以使用例如 vm.$data._property 的方式访问这些 property。

当一个组件被定义,data 必须声明为返回一个初始数据对象的函数,因为组件可能被用来创建多个实例。如果 data 仍然是一个纯粹的对象,则所有的实例将共享引用同一个数据对象!通过提供 data 函数,每次创建一个新实例后,我们能够调用 data 函数,从而返回初始数据的一个全新副本数据对象。

如果需要,可以通过将 vm.$data 传入 JSON.parse(JSON.stringify(...)) 得到深拷贝的原始数据对象。
这里是个知识点,标注上,详细请见深拷贝和浅拷贝的区别。

一定要注意,组件的 data 必须是一个函数,详细请见风格指南

Vue.component('some-comp', {
  data: function () {
    return {
      foo: 'bar'
    }
  }
})

相关文章

  • Vue 选项 data

    类型:Object | Function 限制:组件的定义只接受 function。 详细: Vue 实例的数据对...

  • vue 中 $el与$refs 区别

    * vm.$el 获取Vue实例关联的DOM元素; * vm.$data 获取Vue实例的data选项(对象) *...

  • 第三节: Vue选项: data数据以及数据响应式

    Vue data 数据属性 1.数据属性 Data的了解 通过前面的学习,我们知道vue的数据是写在vue选项对象...

  • 微信小程序和vue的区别

    数据类型 vue组件中data必须是函数 data(){return{}},new Vue中的选项可以是函数也可以...

  • Vue 构造选项

    Vue 构造选项 Options 数据: data、props、methods、computed、watch DO...

  • Vue面试题集锦

    VUE的双向绑定原理 原理:在创建Vue实例时,Vue会遍历data选项的属性,利用Object.definePr...

  • Vue2对数组与对象的响应式处理

    在 Vue 2 中,当你把一个普通的 JavaScript 对象传入 Vue 实例作为 data 选项,Vue 将...

  • vue响应式原理

    原理 vue实例的data选项,vue 将遍历此对象的所有的属性,并使用 Object.defineProper...

  • Vue的响应式原理

    Vue实例创建时,vue会遍历data选项的属性,用 Object.defineProperty 将他们转为get...

  • vuex状态管理器简单理解

    使用过vue的人都知道vue实例有一个选项这么个东西,什么是选项呢.比如一个vue实例里的el,data,c...

网友评论

      本文标题:Vue 选项 data

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