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

本文探讨了传统应用开发方式的局限性,并介绍了组件化和模块化的概念及其优势。通过划分不同功能区域为独立组件,可以有效提升代码的复用率和项目的运行效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

传统方式编写应用存在的弊端

不同界面使用相同的代码时,依赖关系混乱,修改样式时,会造成其他界面的样式随之改变

组件化编码

不同功能区域划分为不同的组件,多个界面共同使用的组件可抽象位公共组件进行复用

模块与组件、模块化与组件化

 模块

1. 理解: 向外提供特定功能的 js 程序, 一般就是一个 js 文件
2. 为什么: js 文件很多很复杂
3. 作用: 复用 js, 简化 js 的编写, 提高 js 运行效率

组件

1. 理解: 用来实现局部(特定)功能效果的代码集合(html/css/js/image…..)
2. 为什么: 一个界面的功能很复杂 3. 作用: 复用编码, 简化项目编码, 提高运行效率

模块化

当应用中的 js 都以模块来编写的, 那这个应用就是一个模块化的应用。

组件化

当应用中的功能都是多组件的方式来编写的, 那这个应用就是一个组件化的应用

非单文件组件

一个文件中包含 n 个组件

单文件组件

一个文件只包含一个组件

data的两种写法

第一种:对象式写法

data:{
   name:'尚硅谷'
}

第二种写法:函数式写法

data:function(){
   return{
     name:'尚硅谷'
   }
}

组件中只能使用 函数式写法

组件的创建就是被用来复用的,若A界面改变了A组件的data数据,B界面在使用A组件时,其中的数据也会随着A界面的改变 而变化,这是我们不希望看到的,因此通过函数的方式,在每次调用data函数式,都返回一个新的对象,就可以保证各个组件都有自己的一套独立的数据,不会互相造成影响。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值