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 相关文章推荐
jquery获取ASP.NET服务器端控件dropdownlist和radiobuttonlist生成客户端HTML标签后的value和text值
Jun 28 Javascript
原始的js代码和jquery对比体会
Sep 10 Javascript
jquery控制背景音乐开关与自动播放提示音的方法
Feb 06 Javascript
jQuery基于图层模仿五星星评价功能的方法
May 07 Javascript
详解JavaScript中数组的相关知识
Jul 29 Javascript
学习JavaScript设计模式(单例模式)
Nov 26 Javascript
微信公众号 摇一摇周边功能开发
Dec 08 Javascript
详解vue-cli快速构建vue应用并实现webpack打包
Dec 13 Javascript
基于JS实现带动画效果的流程进度条
Jun 01 Javascript
Bootstrap模态对话框用法简单示例
Aug 31 Javascript
angularjs获取到My97DatePicker选中的值方法
Oct 02 Javascript
jQuery带控制按钮轮播图插件
Jul 31 jQuery
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
Zend 输出产生XML解析错误
2009/03/03 PHP
PHP获取http请求的头信息实现步骤
2012/12/16 PHP
php更新mysql后获取影响的行数发生异常解决方法
2013/03/28 PHP
浅析echo(),print(),print_r(),return之间的区别
2013/11/27 PHP
在openSUSE42.1下编译安装PHP7 的方法
2015/12/24 PHP
PHP后期静态绑定之self::限制实例分析
2018/12/21 PHP
浅谈laravel-admin的sortable和orderby使用问题
2019/10/03 PHP
js版本A*寻路算法
2006/12/22 Javascript
根据分辩率调用不同的CSS.
2007/01/08 Javascript
jQuery插件的写法分享
2013/06/12 Javascript
关闭ie窗口清除Session的解决方法
2014/01/10 Javascript
Javascript自定义函数判断网站访问类型是PC还是移动终端
2014/01/10 Javascript
JS实现一个列表中包含上移下移删除等功能
2014/09/24 Javascript
原生js实现移动开发轮播图、相册滑动特效
2015/04/17 Javascript
深入解析JavaScript中的数字对象与字符串对象
2015/10/21 Javascript
JavaScript电子时钟倒计时
2016/01/09 Javascript
JavaScript必知必会(九)function 说起 闭包问题
2016/06/08 Javascript
React-router 4 按需加载的实现方式及原理详解
2017/05/25 Javascript
如何理解Vue的.sync修饰符的使用
2017/08/17 Javascript
微信小程序与后台PHP交互的方法实例分析
2018/12/10 Javascript
Vue在 Nuxt.js 中重定向 404 页面的方法
2019/04/23 Javascript
[40:17]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第一场
2018/04/06 DOTA
python base64 decode incorrect padding错误解决方法
2015/01/08 Python
python 读文件,然后转化为矩阵的实例
2018/04/23 Python
在Django中URL正则表达式匹配的方法
2018/12/20 Python
Python Django切换MySQL数据库实例详解
2019/07/16 Python
python实现把两个二维array叠加成三维array示例
2019/11/29 Python
python 多进程队列数据处理详解
2019/12/23 Python
Python如何实现后端自定义认证并实现多条件登陆
2020/06/22 Python
欧缇丽英国官方网站:Caudalie英国
2016/08/17 全球购物
全球性的在线时尚男装零售商:boohooMAN
2016/12/17 全球购物
俄罗斯小米家用电器、电子产品和智能家居商店:Poood.ru
2020/04/03 全球购物
合作协议书
2014/04/23 职场文书
2016党员干部政治学习心得体会
2016/01/23 职场文书
Java比较两个对象中全部属性值是否相等的方法
2021/08/07 Java/Android
MySQL使用IF语句及用case语句对条件并结果进行判断 
2022/09/23 MySQL