Vue.extend实现挂载到实例上的方法


Posted in Javascript onMay 01, 2019

本文实例讲述了Vue.extend实现挂载到实例上的方法。分享给大家供大家参考,具体如下:

这里主要是做个笔记

根据官网的说法,Vue.extend:是使用基础 Vue 构造器,创建一个“子类”。参数是一个包含组件选项的对象。

官网的用法是:

<div id="mount-point"></div>
// 创建构造器
var Profile = Vue.extend({
 template: '<p>{{firstName}} {{lastName}} aka {{alias}}</p>',
 data: function () {
  return {
   firstName: 'Walter',
   lastName: 'White',
   alias: 'Heisenberg'
  }
 }
})
// 创建 Profile 实例,并挂载到一个元素上。
new Profile().$mount('#mount-point')

最终结果如下:

<p>Walter White aka Heisenberg</p>

感觉这样写不太美观

于是改为下面这样写:

在文件夹./src/component/expend,新建两个文件:main.js和main.vue

main.vue就是你的组件,爱怎么写怎么写

main.js是把组件挂载到实例上,代码如下:

import Vue from 'Vue'
import Main from './main.vue'
let Builder = Vue.extend(Main)
export default {
  install (vue) {
    vue.prototype.$YOURNAME = this.getComponent
  },
  getComponent (param) {
    let instance = new Builder({
      propsData: { param }
    })
    instance.vm = instance.$mount()
    document.body.appendChild(instance.vm.$el)
    return instance
  }
}

在入口文件main.js,添加代码:

import Vue from 'Vue'
import myComponent from './src/component/expend/main.js'
Vue.use(myComponent)

然后在页面中就可以这样使用了:

this.$YOURNAME(param)

希望本文所述对大家vue.js程序设计有所帮助。

Javascript 相关文章推荐
Prototype使用指南之form.js
Jan 10 Javascript
从sohu弄下来的flash中展示图片的代码
Apr 27 Javascript
javascript模仿msgbox提示效果代码
Jun 10 Javascript
js局部刷新页面时间具体实现
Jul 04 Javascript
Jquery Uploadify多文件上传带进度条且传递自己的参数
Aug 28 Javascript
JavaScript字符串对象
Jan 14 Javascript
Javascript中引用类型传递的知识点小结
Mar 06 Javascript
Linux系统中利用node.js提取Word(doc/docx)及PDF文本的内容
Jun 17 Javascript
详解vue express启动数据服务
Jul 05 Javascript
JS实现图片转换成base64的各种应用场景实例分析
Jun 22 Javascript
layui+jquery支持IE8的表格分页方法
Sep 28 jQuery
javascript设计模式 ? 观察者模式原理与用法实例分析
Apr 22 Javascript
JS html事件冒泡和事件捕获操作示例
May 01 #Javascript
JS实现的贪吃蛇游戏案例详解
May 01 #Javascript
javascript原型链学习记录之继承实现方式分析
May 01 #Javascript
微信小程序实现卡片左右滑动效果的示例代码
May 01 #Javascript
微信小程序常见页面跳转操作简单示例
May 01 #Javascript
浅谈对于react-thunk中间件的简单理解
May 01 #Javascript
vue增加强缓存和版本号的实现方法
May 01 #Javascript
You might like
php中序列化与反序列化详解
2017/02/13 PHP
PHP基于curl模拟post提交json数据示例
2018/06/22 PHP
php实现数字补零的方法总结
2018/09/12 PHP
jquery获取URL中参数解决中文乱码问题的两种方法
2013/12/18 Javascript
Jquery原生态实现表格header头随滚动条滚动而滚动
2014/03/18 Javascript
javascript使用正则获取url上的某个参数
2014/09/04 Javascript
JavaScript中的object转换函数toString()与valueOf()介绍
2014/12/31 Javascript
理解javascript定时器中的setTimeout与setInterval
2016/02/23 Javascript
JS弹出层遮罩,隐藏背景页面滚动条细节优化分析
2016/04/29 Javascript
JavaScript 闭包详细介绍
2016/09/28 Javascript
jquery.validate表单验证插件使用方法解析
2016/11/07 Javascript
解析js如何获取css样式
2016/12/11 Javascript
Web 开发中Ajax的Session 超时处理方法
2017/01/19 Javascript
vue.js简单配置axios的方法详解
2017/12/13 Javascript
jQuery中元素选择器(element)简单用法示例
2018/05/14 jQuery
vue监听键盘事件的快捷方法【推荐】
2018/07/11 Javascript
vue组件之间的数据传递方法详解
2019/04/19 Javascript
Vue的状态管理vuex使用方法详解
2020/02/05 Javascript
Element Input输入框的使用方法
2020/07/26 Javascript
原生JS实现京东查看商品点击放大
2020/12/21 Javascript
[57:24]LGD vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python入门之语句(if语句、while语句、for语句)
2015/01/19 Python
Python基础知识_浅谈用户交互
2017/05/31 Python
Django ORM框架的定时任务如何使用详解
2017/10/19 Python
python实现指定文件夹下的指定文件移动到指定位置
2018/09/17 Python
python设置随机种子实例讲解
2019/09/12 Python
PyQt5中QTableWidget如何弹出菜单的示例代码
2020/02/23 Python
使用Keras加载含有自定义层或函数的模型操作
2020/06/10 Python
Python 列表中的修改、添加和删除元素的实现
2020/06/11 Python
Python高阶函数与装饰器函数的深入讲解
2020/11/10 Python
CSS3教程:background-clip和background-origin
2008/10/17 HTML / CSS
Asics日本官网:鬼冢八喜郎创立的跑鞋运动品牌
2017/10/18 全球购物
大学生学雷锋活动总结
2014/06/26 职场文书
高中学校对照检查材料
2014/08/31 职场文书
2014年督导工作总结
2014/11/19 职场文书
2015年老干部工作总结
2015/04/23 职场文书