美文网首页
关于组件中的data为什么是一个函数

关于组件中的data为什么是一个函数

作者: 蓝蓝红同学 | 来源:发表于2021-03-15 15:40 被阅读0次

vue的组件中无法直接访问vue实例中的data数据(后续的‘父子通信’可实现组件间数据的访问),组件中拥有一个存放自己数据的地方:即自身的data属性(除此之外也有methods等属性,从官网的解释来看,vue组件就是一个vue实例)

但组件中的data属性与实例中的data属性有所不同

在vue实例中,data属性是一个对象;而在组件中的data是一个函数,且该函数返回一个对象(如果将组件中的data定义为对象,浏览器会爆出错误),这是因为要实现组件的复用性

具体解释例子如下:

需求:实现一个计数器的组件,并且不会相互影响

实现代码如下:

代码 浏览器效果图

如上,需要实现两个计数器互不影响,但同时调用一个组件,如果组件中的data是一个对象,那么两个计数器会同时使用这个data中的counts,那么两个组件在点击+和-时,会让两个counts同时改变;而如果data是一个函数,函数拥有自己的块级作用域,每次调用函数会返回一个新的对象,即每一个函数不会共享同一个data对象,所以不会互相影响!

相关文章

  • 组件避免冲突

    组件中data为什么是一个函数 子组件中的 data 属性值会相互影响,如果组件中 data 选项是一个函数,那么...

  • vue 组件中的data为什么是一个函数

    组件中 data 为什么是一个函数? 为什么组件中的 data 必须是一个函数,然后 return 一个对象,而 ...

  • vue相关知识点

    组件中的 data 为什么是函数 组件是用来复用的,组件中的data应是互不影响的,防止data复用。 v-if和...

  • 11. 组件中的data以及data为什么必须是函数

    组件中的data保存的是自己的数据,但是这个data必须是个函数,然后返回一个对象的形式 组件中的data为什么必...

  • vue 中的 data 为什么是函数?

    new Vue() 实例中,data可以是直接是一个对象,为什么在vue组件中,data必须是一个函数呢?因为组件...

  • Vue前端面试2021-018

    1、为什么组件中的data是一个函数? Vue中的组件是要被重复使用的,如果data只是一个对象,多个复用的组件他...

  • vue相关的知识

    1. 组件的data为什么必须是函数? 组件中的 data 写成一个函数,数据以函数返回值形式定义,这样每复用一次...

  • vue题库

    为什么vue组件中data必须是一个函数? 组件是可复用的,当复用组件时,由于数据对象指向的是同一个data对象,...

  • Vue组件中的data和methods

    一、组件中的data 组件中也可以有自己的data。 但是组件中的data属性只能是一个函数方法(vue实例中的d...

  • vue组件data为什么必须是函数?

    首先看个例子 在new vue()中,data可以直接是一个对象,为什么在vue组件中,data必须是一个函数呢?...

网友评论

      本文标题:关于组件中的data为什么是一个函数

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