vue 组件简介


Posted in Javascript onJuly 31, 2020

什么是组件?

web的组件其实就是页面组成的一部分,好比是电脑中的每一个元件(如硬盘、键盘、鼠标),它是一个具有独立的逻辑和功能或界面,同时又能根据规定的接口规则进行相互融合,变成一个完整的应用。

web页面就是由一个个类似这样的部分组成的,比如导航、列表、弹窗、下拉菜单等。页面只不过是这些组件的容器,组件自由组合形成功能完整的界面,当不需要某个组件,或者想要替换某个组件时,可以随时进行替换和删除,而不影响整个应用的运行。

前端组件化的核心思路就是将一个巨大复杂的东西才分成粒度合理的小东西。

使用组件的好处:

  • 提高开发效率
  • 方便重复使用
  • 简化调试步骤
  • 提升整个项目的课维护性
  • 便于协同开发

组件(Component)是 Vue.js 最强大的功能之一。
组件可以扩展 HTML 元素,封装可重用的代码。
在较高层面上,组件是自定义元素, Vue.js 的编译器为它添加特殊功能。
在有些情况下,组件也可以是原生 HTML 元素的形式,以 is 特性扩展。

组件系统让我们可以用独立可复用的小组件来构建大型应用,几乎任意类型的应用的界面都可以抽象为一个组件树:

vue 组件简介

vue.js的组件可以理解为预先定义好行为的ViewModel类。一个组件可以预先定义很多选项。但是最核心的是以下几个:

  • 模板(template)——模板声明了数据和最终展现给用户的DOM之间的映射关系。
  • 初始数据(data)——一个组件的初始数据状态。对于可服用的组件来说,通常是私有的状态。
  • 接受的外部参数(props)——组件之间通过参数来进行数据的传递和共享。参数默认是单向绑定(由上至下),但也可以显式声明为双向绑定。
  • 方法(methods)——对数据的改动操作一般都在组件的方法内进行。可以通过v-on指令将用户输入事件和组件方法进行绑定。
  • 生命周期钩子函数(lifecycle hooks)——一个组件会触发多个生命周期钩子函数,比如created、attached、destroyed等。在这些钩子函数中,我们可以封装一些自定义的逻辑。和传统的MVC相比,这可以理解为Controller的逻辑被分散到了这些钩子函数中。

以上就是深入了解vue 组件的详细内容,更多关于vue 组件的资料请关注三水点靠木其它相关文章!

Javascript 相关文章推荐
javaScript 数值型和字符串型之间的转换
Jul 25 Javascript
jquery $(document).ready() 与window.onload的区别
Dec 28 Javascript
JQuery 选择器 xpath 语法应用
May 13 Javascript
Jquery中删除元素的实现代码
Dec 29 Javascript
jquery仿QQ商城带左右按钮控制焦点图片切换滚动效果
Jun 27 Javascript
JavaScript中的console.time()函数详细介绍
Dec 29 Javascript
jquery动感漂浮导航菜单代码分享
Apr 15 Javascript
javaScript事件学习小结(四)event的公共成员(属性和方法)
Jun 09 Javascript
原生javascript 学习之js变量全面了解
Jul 14 Javascript
AngularJS实现与Java Web服务器交互操作示例【附demo源码下载】
Nov 02 Javascript
React中使用UMEditor的方法示例
Dec 27 Javascript
javascript实现计算器功能
Mar 30 Javascript
three.js 制作动态二维码的示例代码
Jul 31 #Javascript
vue+vuex+axios从后台获取数据存入vuex,组件之间共享数据操作
Jul 31 #Javascript
vue抽出组件并传值实例
Jul 31 #Javascript
Vue通过Blob对象实现导出Excel功能示例代码
Jul 31 #Javascript
Vue.js中使用Vuex实现组件数据共享案例
Jul 31 #Javascript
原生JS实现记忆翻牌游戏
Jul 31 #Javascript
js实现跳一跳小游戏
Jul 31 #Javascript
You might like
php的日期处理函数及uchome的function_coomon中日期处理函数的研究
2011/01/12 PHP
Ping服务的php实现方法,让网站快速被收录
2012/02/04 PHP
浅谈PHP调用Webservice思路及源码分享
2014/06/04 PHP
CI框架中集成CKEditor编辑器的教程
2014/06/09 PHP
Linux中为php配置伪静态
2014/12/17 PHP
PHP+Ajax验证码验证用户登录
2016/07/20 PHP
thinkphp5.0自定义验证规则使用方法
2017/11/16 PHP
jQuery Dialog 弹出层对话框插件
2010/08/09 Javascript
JS限制文本框只能输入数字和字母方法
2015/02/28 Javascript
JS全局变量和局部变量最新解析
2016/06/24 Javascript
利用javascript实现的三种图片放大镜效果实例(附源码)
2017/01/23 Javascript
vue项目中jsonp跨域获取qq音乐首页推荐问题
2018/05/30 Javascript
Vue 实现把表单form数据 转化成json格式的数据
2019/10/29 Javascript
JavaScript如何借用构造函数继承
2019/11/06 Javascript
详解如何在JS代码中消灭for循环
2019/12/11 Javascript
快速实现基于Python的微信聊天机器人示例代码
2017/03/03 Python
python爬虫爬取网页表格数据
2018/03/07 Python
对numpy.append()里的axis的用法详解
2018/06/28 Python
python K近邻算法的kd树实现
2018/09/06 Python
解决pycharm回车之后不能换行或不能缩进的问题
2019/01/16 Python
python 发送和接收ActiveMQ消息的实例
2019/01/30 Python
python3人脸识别的两种方法
2019/04/25 Python
Python动态参数/命名空间/函数嵌套/global和nonlocal
2019/05/29 Python
python构建指数平滑预测模型示例
2019/11/21 Python
django实现HttpResponse返回json数据为中文
2020/03/27 Python
套娃式文件夹如何通过Python批量处理
2020/08/23 Python
Oakley西班牙官方商店:太阳眼镜和男女运动服
2019/04/26 全球购物
远程学习的教学用品和家庭学习资源:Really Good Stuff
2020/04/27 全球购物
大家检讨书5000字
2014/02/03 职场文书
采购经理岗位职责
2014/02/16 职场文书
房屋租赁意向书
2014/04/01 职场文书
村级四风对照检查材料
2014/08/24 职场文书
十八大标语口号
2014/10/09 职场文书
房屋认购协议书
2015/01/29 职场文书
从结婚开始的恋爱故事。小说《我的美好婚事》TV动画化决定
2022/04/07 日漫
Android在Sqlite3中的应用及多线程使用数据库的建议
2022/04/24 Java/Android