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

如果两个实例引用同一个对象,当其中一个实例的属性发生改变时,另一个实例属性也随之改变,只有当两个实例拥有自己的作用域时,才不会相互干扰。 这是因为JavaScript的特性所导致,在component中,data必须以函数的形式存在,不可以是对象。 组建中的data写成一个函数,数据以函数返回值的形式定义,这样每次复用组件的时候,都会返回一份新的data,相当于每个组件实例都有自己私有的数据空间 ...

2019-07-25 17:56 0 2050 推荐指数:

查看详情

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

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

Fri Jul 26 07:03:00 CST 2019 1 378
19-为什么vuedata一个函数而不是一个对象

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

Thu May 13 00:10:00 CST 2021 0 1117
为什么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
Vue 组件data必须是一个函数

组件是可复用的 Vue 实例,且带有一个名字:在这个例子是 <button-counter>。我们可以在一个通过 new Vue 创建的 Vue 根实例,把这个组件作为自定义元素 ...

Sat May 19 01:58:00 CST 2018 0 2209
vue如何深度监听一个对象

大家都知道,Vue项目中对数据的监听,提供了一个很好的钩子watch,watch可以极其方便的监听我们常用数据类型值的变化,但通常当我们想监听一个对象,某个属性值的变化时,很难达到我们预期的效果。那么如何实现对象属性的深度监听呢? vue中提供了在watch监听时设置 ...

Wed Feb 27 23:32:00 CST 2019 0 17302
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM