Vue.extend构造器
2018-04-03 14:01
351 查看
转载地址:https://blog.csdn.net/Dear_Mr/article/details/72627214
2
3
4
5
6
7
8
9
对应的html如下:
此时的页面必然是没有任何效果的,因为扩展实例构造器还需要挂载,如下
使用propsData
其实对于同一个扩展构造器而言,它的每一个实例其实是可以挂载到不同的标签上的,比如我可以这样
2
这两个标签的内容会一同显示,结果一样Vue官方文档:https://cn.vuejs.org/v2/api/#Vue-extend
1.简单介绍
Vue.extend(options)参数:对象用法:使用Vue构造器,创建一个“子类”,参数是一个包含组件选项的对象,其中,data选项中必须是函数描述:
Vue.extend返回的是一个“扩展实例构造器”,也就是预设了部分选项的Vue的实例构造器,它常常服务于
Vue.component用来生成组件,可以简单理解为当在模板中遇到该组件作为标签的自定义元素时,会自动调用“扩展实例构造器”来生产组件实例,并挂在到自定义元素上
2.简单举例
自定义无参数标签
下面的代码中的author就是返回的“扩展实例构造器”var author = Vue.extend({ template: "<p><a :href='url'>{{author}}</a></p>", data : function() { return { author : 'vamous', url : 'http://blog.csdn.net/Dear_Mr/article/details/72614370' } } });1
2
3
4
5
6
7
8
9
对应的html如下:
<author></author>1
此时的页面必然是没有任何效果的,因为扩展实例构造器还需要挂载,如下
new author().$mount('author');1
使用propsData
var author = Vue.extend({ template: "<p><a :href='url'>{{author}} & {{name}}</a></p>", data : function() { return { author : 'vamous', url : 'http://blog.csdn.net/Dear_Mr/article/details/72614370' } }, props : ['name'] }); new author({propsData: {name : 'dear_mr'}}).$mount('#author');可以利用propsData传递参数
挂载在普通标签上
返回的扩展实例构造器的方式和上面还是一样的,只是html里不再是自定义标签,而是一个普通标签,比如div
<div id="author"></div>1
new author().$mount('author');1
其实对于同一个扩展构造器而言,它的每一个实例其实是可以挂载到不同的标签上的,比如我可以这样
new author().$mount('#author'); new author().$mount('author');1
2
这两个标签的内容会一同显示,结果一样Vue官方文档:https://cn.vuejs.org/v2/api/#Vue-extend
相关文章推荐
- 基于vue2.0动态组件及render详解
- Vue.js中extend选项和delimiters选项的比较
- Vue2.0 slot分发内容与props验证的方法
- Ruby中require、load、include、extend的区别介绍
- Vue2.0基于vue-cli+webpack Vuex的用法(实例讲解)
- Ruby 中的 module_function 和 extend self异同
- vue2.0开发实践总结之入门篇
- vue2.0 如何把子组件的数据传给父组件(推荐)
- vue2.0全局组件之pdf详解
- vue2.0 常用的 UI 库实例讲解
- vue2.0 better-scroll 实现移动端滑动的示例代码
- Vue2.0基于vue-cli+webpack父子组件通信(实例讲解)
- vue2.0组件之间传值、通信的多种方式(干货)
- vue2.0 elementUI制作面包屑导航栏
- vue2.0开发实践总结之疑难篇
- 解决vue2.0动态绑定图片src属性值初始化时报错的问题
- vue2.0 根据状态值进行样式的改变展示方法
- Vue2.0利用vue-resource上传文件到七牛的实例代码
- Vue2.0父子组件传递函数的教程详解
- vue2.0模拟锚点的实例