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 相关文章推荐
使用JQuery和s3captche实现一个水果名字的验证
Aug 14 Javascript
javascript getElementsByTagName
Jan 31 Javascript
JS替换字符串中字符即替换全部而不是第一个
Jun 04 Javascript
JS实现让访问者自助选择网页文字颜色的方法
Feb 24 Javascript
JavaScript通过元素索引号删除数组中对应元素的方法
Mar 18 Javascript
JavaScript实现信用卡校验方法
Apr 07 Javascript
JavaScript实现网页加载进度条代码超简单
Sep 21 Javascript
基于Node.js + WebSocket打造即时聊天程序嗨聊
Nov 29 Javascript
详解ECharts使用心得总结
Dec 06 Javascript
微信小程序开发之录音机 音频播放 动画实例 (真机可用)
Dec 08 Javascript
微信小程序button标签open-type属性原理解析
Jan 21 Javascript
Canvas跟随鼠标炫彩小球的实现
Apr 11 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
10条PHP高级技巧[修正版]
2011/08/02 PHP
基于PHP生成静态页的实现方法
2013/05/10 PHP
php上传文件中文文件名乱码的解决方法
2013/11/01 PHP
Laravel框架中扩展函数、扩展自定义类的方法
2014/09/04 PHP
CI框架中site_url()和base_url()的区别
2015/01/07 PHP
php中使用sftp教程
2015/03/30 PHP
PHP无限极分类函数的实现方法详解
2017/04/15 PHP
javascript 读取图片文件的大小
2009/06/25 Javascript
使用JS读秒使用示例
2013/09/21 Javascript
基于Jquery+Ajax+Json实现分页显示附效果图
2014/07/30 Javascript
JavaScript动态添加css样式和script标签
2016/07/19 Javascript
AngularJS自定义指令之复制指令实现方法
2017/05/18 Javascript
如何能分清npm cnpm npx nvm
2019/01/17 Javascript
vue.js实现备忘录demo
2019/06/26 Javascript
微信小程序官方动态自定义底部tabBar的例子
2019/09/04 Javascript
JavaScript实现模态对话框实例
2020/01/13 Javascript
解决vue请求接口第一次成功,第二次失败问题
2020/09/08 Javascript
查看Python安装路径以及安装包路径小技巧
2015/04/28 Python
删除DataFrame中值全为NaN或者包含有NaN的列或行方法
2018/11/06 Python
django 实现编写控制登录和访问权限控制的中间件方法
2019/01/15 Python
在pycharm 中添加运行参数的操作方法
2019/01/19 Python
Python学习之路之pycharm的第一个项目搭建过程
2020/06/18 Python
python中rb含义理解
2020/06/18 Python
CSS3关于z-index不生效问题的解决
2020/02/19 HTML / CSS
html5调用app分享功能示例(WebViewJavascriptBridge)
2018/03/21 HTML / CSS
美国领先的奢侈手表在线零售商:WatchMaxx
2017/12/17 全球购物
捷克领先的户外服装及配件市场零售商:ALPINE PRO
2018/01/09 全球购物
linux面试题参考答案(3)
2012/09/13 面试题
预备党员思想汇报范文
2014/01/11 职场文书
高二美术教学反思
2014/01/14 职场文书
企业标语口号
2014/06/10 职场文书
竞聘演讲稿开场白
2014/08/25 职场文书
2015年社区矫正工作总结
2015/04/21 职场文书
2019生态环境保护倡议书!
2019/07/03 职场文书
拒绝盗图!教你怎么用python给图片加水印
2021/06/04 Python
MySQL中order by的使用详情
2021/11/17 MySQL