vue.extend与vue.component的区别和联系
如果大家只顾开发,对基础知识不了解,在今后的解决问题过程中,也是个大问题,今天小编抽空对基础概念给大家屡一下,用于大家日后学习。
Vue.extend({})简述:使用vue.extend返回一个子类构造函数,也就是预设部分选项的vue实例构造器。
后可使用vue.component进行实例化、或使用new extendName().$mount(''+el)
方式进行实例化(从而实现模拟组件)。
Vue.component({})
简述:不多介绍了。。。用于生成全局组件
使用:
1,Vue.component使用Vue.extend生成的构造函数:
2,实例化构造函数从而模拟组件:
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
相关文章
详解elementui之el-image-viewer(图片查看器)
这篇文章主要介绍了详解elementui之el-image-viewer(图片查看器),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-08-08在Vue中使用deep深度选择器修改element UI组件的样式
这篇文章主要介绍了在Vue中使用deep深度选择器修改element UI组件的样式,本文分为两种方法给大家介绍,在这小编比较推荐使用第二种使用 deep 深度选择器,感兴趣的朋友跟随小编一起看看吧2022-12-12Vue为何弃用Ajax,选择Axios?ajax与axios的区别?
ajax技术实现了局部数据的刷新,axios实现了对ajax的封装;axios有的ajax都有,ajax有的axios不一定有。总结一句话就是axios是ajax,ajax不止axios。2023-01-01解决VUE自定义拖拽指令时 onmouseup 与 click事件冲突问题
这篇文章主要介绍了解决VUE自定义拖拽指令时 onmouseup 与 click事件冲突问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-07-07vue2中provide/inject的使用与响应式传值详解
Vue中 Provide/Inject实现了跨组件的通信,下面这篇文章主要给大家介绍了关于vue2中provide/inject的使用与响应式传值的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下2022-09-09
最新评论