关于vue.extend和vue.component的区别浅析


Posted in Javascript onAugust 16, 2017

前言

最近一个朋友问我vue.extend和vue.component两者之间有什么区别?突然这么一问竟答不出来,回来想想有必要总结下,所以本文就来给大家介绍关于vue.extend和vue.component的区别,下面话不多说了,来一起看看详细的介绍吧。

Vue.extend 返回的是一个“扩展实例构造器”,也就是一个预设了部分选项的 Vue 实例构造器

var myVue = Vue.extend({
 // 预设选项
}) // 返回一个“扩展实例构造器”

// 然后就可以这样来使用
var vm = new myVue({
 // 其他选项
})

Vue.component 是用来全局注册组件的方法,其作用是将通过 Vue.extend 生成的扩展实例构造器注册(命名)为一个组件,可以简单理解为当在模板中遇到该组件名称作为标签的自定义元素时,会自动调用类似于 new myVue 这样的构造函数来生成组件实例,并挂载到自定义元素上,当然实际情况要比这复杂得多,还需要处理 props 数据传递、slot 内容分发、自定义事件、组件生命周期……事宜。

在网上看到了一个网友的分析也分享给大家,如下:

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.extend和vue.component的区别浅析

就是创建一个vue实例咯 返回一个vm实例 。api中vm的说明就是new Vue创建的

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
常用参考资料(手册)下载或者链接
Jul 22 Javascript
js实现ASP分页函数 HTML分页函数
Sep 22 Javascript
javascript控制frame,iframe的src属性代码
Dec 31 Javascript
js中根据字数截取字符串,不能截断url
Jan 12 Javascript
javascript 基础篇1 什么是js 建立第一个js程序
Mar 14 Javascript
js二维数组排序的简单示例代码
Jan 24 Javascript
AngularJS基础 ng-model 指令详解及示例代码
Aug 02 Javascript
JavaScript获取键盘按键的键码(参照表)
Jan 10 Javascript
javascript 开发之网页兼容各种浏览器
Sep 28 Javascript
webpack配置之后端渲染详解
Oct 26 Javascript
基于Koa2写个脚手架模拟接口服务的方法
Nov 27 Javascript
如何制作自己的原生JavaScript路由
May 05 Javascript
在一般处理程序(ashx)中弹出js提示语
Aug 16 #Javascript
深入研究jQuery图片懒加载 lazyload.js使用方法
Aug 16 #jQuery
详谈表单重复提交的三种情况及解决方法
Aug 16 #Javascript
详谈js对url进行编码和解码(三种方式的区别)
Aug 16 #Javascript
Node.js 的模块知识汇总
Aug 16 #Javascript
vue绑定设置属性的多种方式(5)
Aug 16 #Javascript
jQuery中each循环的跳出和结束实例
Aug 16 #jQuery
You might like
mysq GBKl乱码
2006/11/28 PHP
PHP 图像尺寸调整代码
2010/05/26 PHP
PHP根据两点间的经纬度计算距离
2014/10/31 PHP
mysql desc(DESCRIBE)命令实例讲解
2016/09/24 PHP
php使用正则表达式获取字符串中的URL
2016/12/29 PHP
PHP5.5安装PHPRedis扩展及连接测试方法
2017/01/22 PHP
php 查找数组元素提高效率的方法详解
2017/05/05 PHP
PHP实现正则表达式分组捕获操作示例
2018/02/03 PHP
Laravel 集成微信用户登录和绑定的实现
2019/12/27 PHP
JavaScript 不只是脚本
2007/05/30 Javascript
一个简单的js渐显(fadeIn)渐隐(fadeOut)类
2010/06/19 Javascript
JS实现仿中关村论坛评分后弹出提示效果的方法
2015/02/23 Javascript
jQuery中 $ 符号的冲突问题及解决方案
2016/11/04 Javascript
轻松学习Javascript闭包
2017/03/01 Javascript
JavaScript拖动层Div代码
2017/03/01 Javascript
win系统下nodejs环境安装配置
2017/05/04 NodeJs
详解Vue学习笔记入门篇之组件的内容分发(slot)
2017/07/17 Javascript
Vue组件化开发思考
2018/02/02 Javascript
jquery ajax加载数据前台渲染方式 不用for遍历的方法
2018/08/09 jQuery
Vue插件打包与发布的方法示例
2018/08/20 Javascript
vue头部导航动态点击处理方法
2018/11/02 Javascript
Vue.js实现开发购物车功能的方法详解
2019/02/22 Javascript
vue+swiper实现左右滑动的测试题功能
2020/10/30 Javascript
Python常用模块介绍
2014/11/21 Python
Python操作excel的方法总结(xlrd、xlwt、openpyxl)
2019/09/02 Python
Python Celery多队列配置代码实例
2019/11/22 Python
Pytorch之finetune使用详解
2020/01/18 Python
浅谈tensorflow中Dataset图片的批量读取及维度的操作详解
2020/01/20 Python
Tensorflow实现将标签变为one-hot形式
2020/05/22 Python
巴西体育用品商店:Lojão dos Esportes
2018/07/21 全球购物
山海经纬软件测试笔试题和面试题
2013/04/02 面试题
初三学习计划书范文
2014/04/30 职场文书
党的群众路线教育实践活动总结材料
2014/10/30 职场文书
入党积极分子党小组意见
2015/06/02 职场文书
珍惜时间的诗歌赏析
2019/08/23 职场文书
MySQL中几种插入和批量语句实例详解
2021/09/14 MySQL