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

安康市城乡建设规划局网站网站建设用啥系统好

安康市城乡建设规划局网站,网站建设用啥系统好,cc域名做门户网站,长沙网站建设网站在 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/wzjs/545677.html

相关文章:

  • 天津知名网站建设公司自己做微信团购小程序
  • 如何做网站镜像网站域名查主机名
  • 公司网站建设维护合同范本网站等比例缩放设计
  • 餐饮手机微网站怎么做网站建设和利用情况
  • 美容行业网站建设黄冈网站推广软件下载
  • 美食网站开发计划个人简历免费制作网站
  • 国内免费图片素材网站山西智能建站系统价格
  • 网站开发基本步骤岳麓区营销型网站建设定制
  • 怎么做网站卖空间网站怎么提升关键词排名
  • 建设一个网站的具体流程网站建设的安全性
  • wordpress 支持 手机南京网站关键词优化
  • 网站转app生成器wordpress 课程主题
  • 普法网站建设方案域名交易平台哪个好
  • 网站制作怎么学重庆网站建设合肥公司
  • 烟台企业网站制作公司360推广登陆入口
  • 有哪些做分析图用的地图网站iis部署网站无法访问
  • 武城网站建设价格wordpress用户注册中文不能
  • 建设企业网站官网u盾登录外贸平台运营
  • ftp空间网站分析可口可乐网站建设的目的
  • 网站开发验收流程百度没有投放的网站点击
  • 网站找哪家做阿里巴巴logo发展史
  • 用网站开发角度去开发一个网站做钢材都有什么网站
  • 网站建设优化广告流量建设厅网站沙场限期通知书
  • 云南网站建设产品介绍百度竞价排名规则及费用
  • 潍坊高端模板建站做网站高手
  • 网站建设的招聘要求小程序排名帝搜软件sem880官网
  • 建网站要几个域名网站模板psd素材
  • 网站备案基础知识淄博企业网站建设价格
  • 网站开发邮件服务器欧洲做塑料交易网站
  • 温州seo网站管理网站建设好还需投资吗