当前位置: 首页 > news >正文

福州企业高端网站建设制作哪家好微信公众平台应用开发

福州企业高端网站建设制作哪家好,微信公众平台应用开发,网站图标目录,免费asp网站程序下载在 Vue 里,一般情况下组件里的 data 得是一个返回对象的函数,而不是单纯的对象,下面就跟你仔细唠唠为啥要这么搞。 先说说如果 data 是普通对象会咋样 假如 data 是一个普通对象,那这个对象就会被所有组件实例共享。你可以把这个…

在 Vue 里,一般情况下组件里的 data 得是一个返回对象的函数,而不是单纯的对象,下面就跟你仔细唠唠为啥要这么搞。

先说说如果 data 是普通对象会咋样

假如 data 是一个普通对象,那这个对象就会被所有组件实例共享。你可以把这个对象想象成一份公共的表格,所有组件实例都能在上面填写和修改内容。这样一来,一个组件实例对表格内容的修改,会直接影响到其他组件实例看到的内容,这肯定不是我们想要的。

给你举个例子,假如你开发一个电商网站,每个商品卡片都是一个组件。要是 data 是普通对象,当你修改了一个商品卡片上的库存数量,其他商品卡片上的库存数量也跟着变了,这明显不符合实际需求。

为啥要让 data 是返回对象的函数

data 是一个返回对象的函数时,每个组件实例调用这个函数,都会得到一份独立的对象副本。你可以把这个函数想象成一个复印机,每个组件实例都能复印一份属于自己的表格,在自己的表格上填写和修改内容,不会影响到其他组件实例的表格。

还是拿电商网站的商品卡片举例,每个商品卡片组件实例都有自己独立的库存数量数据,修改一个商品卡片的库存数量,不会对其他商品卡片产生影响,这才符合正常的业务逻辑。

代码示例感受下区别

错误示例:data 为普通对象
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><title>Vue Data 错误示例</title><script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
</head><body><div id="app"><my-component></my-component><my-component></my-component></div><script>// 定义组件Vue.component('my-component', {// 错误:data 为普通对象data: {count: 0},template: '<button @click="count++">{{ count }}</button>'});new Vue({el: '#app'});</script>
</body></html>

在这个例子里,点击任意一个按钮,两个按钮上显示的数字都会一起增加,因为它们共享同一个 data 对象。

正确示例:data 为返回对象的函数
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><title>Vue Data 正确示例</title><script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
</head><body><div id="app"><my-component></my-component><my-component></my-component></div><script>// 定义组件Vue.component('my-component', {// 正确:data 为返回对象的函数data: function () {return {count: 0};},template: '<button @click="count++">{{ count }}</button>'});new Vue({el: '#app'});</script>
</body></html>

在这个例子中,每个组件实例都有自己独立的 count 数据,点击一个按钮,只有对应的按钮上的数字会增加,不会影响到其他按钮。

所以,为了保证每个组件实例都有自己独立的数据,避免数据共享带来的问题,在 Vue 组件里 data 要写成返回对象的函数。不过要注意,根实例的 data 可以直接是一个对象,因为根实例只有一个,不存在多个实例共享数据的问题。

http://www.dtcms.com/a/576500.html

相关文章:

  • 网站建设完提交百度项目管理的软件有哪些
  • 自己做网站帮别人卖东西沈阳建网站平台
  • 外贸cms建站天津手机网站开发
  • 粉色做网站背景图片怎样做网站分流赚钱
  • 天津市建设局网站漫画驿站网页设计图纸尺寸大小
  • seo网站诊断自己做网站成本
  • 福建建设厅官方网站网站开发怎么自学
  • 多种语言网站怎么做泉州seo优化排名公司
  • 仪征做网站易云巢做网站公司
  • 网站的开发建设要做什么盘锦门户网站制作
  • 律师网站素材用爬虫做数据整合网站
  • 重庆网上制作网站php做的网站用什么后台
  • 网站标题写什么作用是什么wordpress 招聘主题
  • 简易html个人介绍网页北京网站优化站优化
  • 上海浦东医院网站建设Live WordPress
  • 做众筹网站有哪些做网站推广前途
  • 织梦网站如何上传模板建站符合哪些工作需求?
  • 网站数据统计怎么做汕头小程序定制
  • 汝南网站建设东莞市找工作上什么网
  • 用php做网站用什么框架flask网站开发视频
  • 企业网站网址举例义乌代加工手工活官网
  • 温州网站建设制作公司天津移动网站设计
  • 搜索引擎优化怎么推广来客seo
  • 网站开发公司需要投入什么资源网站开发工具安卓版
  • 会计可以做网站么网站备案填写
  • 网站开发属于计算机系统开发吗网站建设kpi考核
  • 平顶山做网站山东工艺美术学院网站建设公司
  • 制作宝安网站建设济宁 创意大厦 网站建设
  • 安平县网站建设asp.net网站开发实例视频教程
  • 免费做电脑网站吗软件开发培训班排名前十名