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 相关文章推荐
JavaScript脚本性能的优化方法
Feb 02 Javascript
jquery获取input的value问题说明
Aug 19 Javascript
基于jquery的横向滚动条(滑动条)
Feb 24 Javascript
根据邮箱的域名跳转到相应的登录页面的代码
Feb 27 Javascript
js中settimeout方法加参数的使用实例
Feb 27 Javascript
一个简单的JavaScript Map实例(分享)
Aug 03 Javascript
全面解析Angular中$Apply()及$Digest()的区别
Aug 04 Javascript
微信小程序 教程之引用
Oct 18 Javascript
原生js实现可爱糖果数字时间特效
Dec 30 Javascript
在js中做数字字符串补0(js补零)
Mar 25 Javascript
javascript原生封装一个淡入淡出效果的函数测试实例代码
Mar 19 Javascript
解决vuex改变了state的值,但是页面没有更新的问题
Nov 12 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
mysql5详细安装教程
2007/01/15 PHP
php 删除无限级目录与文件代码共享
2008/11/22 PHP
PHP取得一个类的属性和方法的实现代码
2011/05/22 PHP
php MessagePack介绍
2013/10/06 PHP
Swoole-1.7.22 版本已发布,修复PHP7相关问题
2015/12/31 PHP
Laravel中的Blade模板引擎示例详解
2017/10/10 PHP
JS解析XML的实现代码
2009/11/12 Javascript
jquery 简短右键菜单 多浏览器兼容
2010/01/01 Javascript
JavaScript 面向对象编程(1) 基础
2010/05/18 Javascript
利用jquery操作select下拉列表框的代码
2010/06/04 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(五)可移动地图的实现
2013/01/23 Javascript
js sort 二维数组排序的用法小结
2014/01/24 Javascript
node.js中的fs.futimes方法使用说明
2014/12/17 Javascript
Javascript 正则表达式实现为数字添加千位分隔符
2015/03/10 Javascript
jquery任意位置浮动固定层插件用法实例
2015/05/29 Javascript
js右下角弹出提示框示例代码
2016/01/12 Javascript
JavaScript学习笔记--常用的互动方法
2016/12/07 Javascript
使用Vue制作图片轮播组件思路详解
2018/03/21 Javascript
vue-lazyload使用总结(推荐)
2018/11/01 Javascript
微信小程序canvas实现签名功能
2021/01/19 Javascript
[01:09:20]NB vs NAVI Supermajor小组赛A组 BO3 第二场 6.2
2018/06/03 DOTA
如何解决django配置settings时遇到Could not import settings 'conf.local'
2014/11/18 Python
Python实例一个类背后发生了什么
2016/02/09 Python
Python实现Sqlite将字段当做索引进行查询的方法
2016/07/21 Python
Python获取某一天是星期几的方法示例
2017/01/17 Python
python引入导入自定义模块和外部文件的实例
2017/07/24 Python
python的文件操作方法汇总
2017/11/10 Python
python面试题小结附答案实例代码
2019/04/11 Python
在django view中给form传入参数的例子
2019/07/19 Python
Python虚拟环境的创建和使用详解
2020/09/07 Python
Python实现加密的RAR文件解压的方法(密码已知)
2020/09/11 Python
单位办理社保介绍信
2014/01/10 职场文书
迎元旦广播稿
2014/02/22 职场文书
文明医院的标语集锦!
2019/07/24 职场文书
Sentry的安装、配置、使用教程(Sentry日志手机系统)
2022/07/23 Python
JavaScript实现一键复制内容剪贴板
2022/07/23 Javascript