原文:组件中的data为什么不是一个对象而是一个函数?

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

2019-07-25 23:03 1 378 推荐指数:

查看详情

为什么vue组件data不是一个对象而是一个函数

  如果两个实例引用同一个对象,当其中一个实例的属性发生改变时,另一个实例属性也随之改变,只有当两个实例拥有自己的作用域时,才不会相互干扰。   这是因为JavaScript的特性所导致,在componentdata必须以函数的形式存在,不可以是对象。   组建中的data写成一个函数 ...

Fri Jul 26 01:56:00 CST 2019 0 2050
19-为什么vuedata一个函数而不是一个对象

Object是引用数据类型,如果不用function返回,每个组件data都是内存的同一个地址,一个数据改变了其他也改变了; JavaScript只有函数构成作用域(注意理解作用域,只有函数 {} 构成作用域,对象的 {} 以及 if(){}都不构成作用域) ,data一个函数时,每个组件 ...

Thu May 13 00:10:00 CST 2021 0 1117
组件 data 为什么是一个函数

为什么组件data 必须是一个函数,然后 return 一个对象,而 new Vue 实例里,data 可以直接是一个对象? // data data() { return { message: "子组件", childName:this.name } } // new Vue ...

Fri Jan 03 21:59:00 CST 2020 0 2015
js取一个对象的另一个对象

  最开始的截图    原本是想取到其中的foodName 先是用一个for循环循环了下 结果console出来的是一对对象 于是网上查找改了一下 将 这些对象转换成数组 就拿得了到我想要的数据 不过好像最后还是没用到 ...

Sat Apr 20 05:16:00 CST 2019 0 698
为什么vue组件data必须是一个函数

函数内声明实例属性保存data,每个实例对象data都是经过一次函数执行得到有不同的返回结果,所以返回data的值具有自己独立的作用域。 在定义Vue实例时,给Vue传参是一个对象对象data就是一个函数,Vue在实例化的时候会调用这个函数每个实例都会返回新的值,data ...

Sat Jul 18 22:41:00 CST 2020 0 589
vue组件data为什么是一个函数

组件是可复用的vue实例,一个组件被创建好之后,就可能被用在各个地方,而组件不管被复用了多少次,组件data数据都应该是相互隔离,互不影响的,基于这一理念,组件每复用一次,data数据就应该被复制一次,之后,当某一处复用的地方组件data数据被改变时,其他复用地方组件data数据不受 ...

Fri Aug 23 01:03:00 CST 2019 0 2491
vue组件data为什么是一个函数

1. 前言 在学习vue的时候,一直纳闷一件事:组件data数据为什么必须要以函数返回的形式,为什么不是简单的对象形式呢?遂带着问题去翻官方文档,文档自然也写明了这么做的原因,本篇博文以官方文档给出的原因为基础,并加上具体的例子,来阐述这么设计的原因。 2.正文 组件是可复用的vue实例 ...

Tue Oct 30 21:12:00 CST 2018 1 20286
Vue组件data为什么必须是一个函数

在Vue的组件基础中有这样一句话:data必须是一个函数。 为什么data必须是一个函数呢? 我们来看Vue在声明式渲染给出的一个demo: 在这个demodata一个对象,通过 new Vue 创建的 Vue 实例,我们直接把data ...

Thu Feb 06 07:06:00 CST 2020 0 256
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM