微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Vue.extend构造器的详解

Vue.extend构造器的详解

1.简单介绍

参数

:对象

用法

:使用Vue构造器,创建一个“子类”,参数是一个包含组件选项的对象,其中,data选项中必须是函数

描述

:Vue.extend返回的是一个“扩展实例构造器”,也就是预设了部分选项的Vue的实例构造器,它常常服务于Vue.component用来生成组件,可以简单理解为当在模板中遇到该组件作为标签自定义元素时,会自动调用“扩展实例构造器”来生产组件实例,并挂在到自定义元素上

2.简单举例

自定义无参数标签

下面的代码中的author就是返回的“扩展实例构造器”

rush:js;"> var author = Vue.extend({ template: "

{{author}}

",data : function() { return { author : 'vamous',url : 'http://blog.csdn.net/Dear_Mr/article/details/72614370' } } });

对应的html如下:

rush:js;">

此时的页面必然是没有任何效果的,因为扩展实例构造器还需要挂载,如下

使用propsData

{{author}} & {{name}}

",url : 'http://blog.csdn.net/Dear_Mr/article/details/72614370' } },props : ['name'] });

new author({propsData: {name : 'dear_mr'}}).$mount('#author');

可以利用propsData传递参数

挂载在普通标签

返回的扩展实例构造器的方式和上面还是一样的,只是html里不再是自定义标签,而是一个普通标签,比如div

rush:js;">
rush:js;"> new author().$mount('author');

其实对于同一个扩展构造器而言,它的每一个实例其实是可以挂载到不同的标签上的,比如我可以这样

rush:js;"> new author().$mount('#author'); new author().$mount('author');

这两个标签内容会一同显示,结果一样

以上就是对Vue.extend构造器的实例详解,本站还有很多关于vue js开发的资料,欢迎大家搜索参阅,如有疑问请大家留言,共同进步,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持

原文地址:https://www.jb51.cc/vue/37815.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐