vue.extend与vue.component的区别和联系


Posted in Javascript onSeptember 19, 2018

如果大家只顾开发,对基础知识不了解,在今后的解决问题过程中,也是个大问题,今天小编抽空对基础概念给大家屡一下,用于大家日后学习。

Vue.extend({})简述:使用vue.extend返回一个子类构造函数,也就是预设部分选项的vue实例构造器。

后可使用vue.component进行实例化、或使用new extendName().$mount(''+el)方式进行实例化(从而实现模拟组件)。

vue.extend与vue.component的区别和联系

Vue.component({})简述:不多介绍了。。。用于生成全局组件

使用:

1,Vue.component使用Vue.extend生成的构造函数:

vue.extend与vue.component的区别和联系

2,实例化构造函数从而模拟组件:

vue.extend与vue.component的区别和联系

vue.extend与vue.component的区别总结

在Vue.js中,Vue本身是一个constructor。

Vue.extend() 是一个继承于方法的 class,参数是一个包含组件选项的对象。它的目的是创建一个Vue的子类并且返回相应的 constructor。

而Vue.component()实际上是一个类似于Vue.directive() 和 Vue.filter()的注册方法,它的目的是给指定的一个constructor一个String类型的ID,

之后Vue.js可以把它用作模板,实际上当你直接传递选项给Vue.component()的时候,它会在背后调用Vue.extend()。

Vue.js支持两种不同的API模型:一种是基于类的,命令式的,Backbone 类型的API;另一种是基于标记语言的,声明式的,Web组件类型的API。

如果还是困惑的话,可以想象你是怎么创建通过new Image()或者 <img>标签创建 image元素的就知道了。

这两种方法都对指定的类型很有用,Vue.js提供这两者只是为了更好的灵活性。

下面看下vue.extend,new vue 和vue.component的区别

extend 是构造一个组件的语法器. 你给它参数 他给你一个组件 然后这个组件

你可以作用到Vue.component 这个全局注册方法里, 也可以在任意vue模板里使用apple组件

var apple = Vue.extend({ …. }) Vue.component(‘apple',apple)

你可以作用到vue实例或者某个组件中的components属性中并在内部使用apple组件

new Vue({ components:{ apple:apple } })

Vue.component 你可以创建 ,也可以取组件 例如下

var apple = Vue.component(‘apple') 而new vue 是新建一个vue对象 所以可以理解为new vue < vue.extand < vue.component

Javascript 相关文章推荐
js中prototype用法详细介绍
Nov 14 Javascript
Javascript设置对象的ReadOnly属性(示例代码)
Dec 25 Javascript
js触发onchange事件的方法说明
Mar 08 Javascript
用jquery仿做发微博功能示例
Apr 18 Javascript
Bootstrap入门书籍之(四)菜单、按钮及导航
Feb 17 Javascript
JavaScript获取ul中li个数的方法
Feb 13 Javascript
vue如何引用其他组件(css和js)
Apr 13 Javascript
Vue组件之Tooltip的示例代码
Oct 18 Javascript
jQuery实现的鼠标响应缓冲动画效果示例
Feb 13 jQuery
vue cli升级webapck4总结
Apr 04 Javascript
vue移动端弹起蒙层滑动禁止底部滑动操作
Jul 22 Javascript
js对象属性名驼峰式转下划线的实例代码
Sep 17 Javascript
webpack+vue+express(hot)热启动调试简单配置方法
Sep 19 #Javascript
自己动手封装一个React Native多级联动
Sep 19 #Javascript
vue中如何实现后台管理系统的权限控制的方法示例
Sep 19 #Javascript
5分钟快速掌握JS中var、let和const的异同
Sep 19 #Javascript
vue-cli整合vuex的时候,修改actions和mutations,实现热部署的方法
Sep 19 #Javascript
node.js环境搭建图文详解
Sep 19 #Javascript
老生常谈JavaScript获取CSS样式的方法(兼容各浏览器)
Sep 19 #Javascript
You might like
PHP冒泡排序算法代码详细解读
2011/07/17 PHP
ecshop 批量上传(加入自定义属性)
2012/03/20 PHP
Eclipse中php插件安装及Xdebug配置的使用详解
2013/04/25 PHP
PHP单例模式与工厂模式详解
2017/08/29 PHP
动态改变textbox的宽高的js
2006/10/26 Javascript
javascript的switch用法注意事项分析
2015/02/02 Javascript
JavaScript获取网页支持表单字符集的方法
2015/04/02 Javascript
jQuery获取cookie值及删除cookie用法实例
2016/04/15 Javascript
JavaScript面试题(指针、帽子和女朋友)
2016/11/23 Javascript
vue中关闭eslint的方法分析
2018/08/04 Javascript
Vue.js结合bootstrap前端实现分页和排序效果
2018/12/29 Javascript
浅谈Layui的eleTree树式选择器使用方法
2019/09/25 Javascript
实例分析javascript中的异步
2020/06/02 Javascript
[11:57]《一刀刀一天》第十七期:TI中国军团加油!
2014/05/26 DOTA
[01:07:19]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第一场
2018/04/06 DOTA
[04:09]2018年度DOTA2社区贡献奖-完美盛典
2018/12/16 DOTA
Linux系统上Nginx+Python的web.py与Django框架环境
2015/12/25 Python
python 内置函数filter
2017/06/01 Python
python2.7实现爬虫网页数据
2018/05/25 Python
详解分布式任务队列Celery使用说明
2018/11/29 Python
Python如何在DataFrame增加数值
2020/02/14 Python
Django项目创建及管理实现流程详解
2020/10/13 Python
CSS3 实现发光边框特效
2020/11/11 HTML / CSS
html5定位获取当前位置并在百度地图上显示
2014/08/22 HTML / CSS
饮料业务员岗位职责
2013/12/15 职场文书
工程师岗位职责规定
2014/02/26 职场文书
法定代表人授权委托书
2014/09/19 职场文书
党员对照检查材料
2014/09/22 职场文书
反邪教观后感
2015/06/11 职场文书
送给客户微信问候语!
2019/07/04 职场文书
python实现网络五子棋
2021/04/11 Python
Python实现文本文件拆分写入到多个文本文件的方法
2021/04/18 Python
golang 实现菜单树的生成方式
2021/04/28 Golang
golang生成vcf通讯录格式文件详情
2022/03/25 Golang
详解OpenCV曝光融合
2022/04/29 Python
python自动获取微信公众号最新文章的实现代码
2022/07/15 Python