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 相关文章推荐
解决表单中第一个非隐藏的元素获得焦点的一个方案
Oct 26 Javascript
JavaScript 一行代码,轻松搞定浮动快捷留言-V2升级版
Apr 02 Javascript
JSONP 跨域共享信息
Aug 16 Javascript
javascript小数四舍五入多种方法实现
Dec 23 Javascript
JS下拉缓冲菜单示例代码
Aug 30 Javascript
完美兼容各大浏览器获取HTTP_REFERER方法总结
Jun 24 Javascript
javascript原始值和对象引用实例分析
Apr 25 Javascript
window.onerror()的用法与实例分析
Jan 27 Javascript
基于JS实现数字+字母+中文的混合排序方法
Jun 06 Javascript
js遍历json的key和value的实例
Jan 22 Javascript
微信小程序如何获知用户运行小程序的场景教程
May 17 Javascript
详解JavaScript中的函数、对象
Apr 01 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的list()的一步操作给一组变量进行赋值的使用
2011/05/18 PHP
php存储过程调用实例代码
2013/02/03 PHP
探讨方法的重写(覆载)详解
2013/06/08 PHP
php文件上传的简单实例
2013/10/19 PHP
php抽象方法和抽象类实例分析
2016/12/07 PHP
jQuery 顺便学习下CSS选择器 奇偶匹配nth-child(even)
2010/05/24 Javascript
浅谈Javascript嵌套函数及闭包
2010/11/09 Javascript
window.opener用法和用途实例介绍
2013/08/19 Javascript
基于jQuery实现的文字按钮表单特效整理
2014/12/07 Javascript
PHP守护进程实例
2015/03/06 Javascript
javascript动画之磁性吸附效果篇
2016/12/09 Javascript
jQuery用户头像裁剪插件cropbox.js使用详解
2017/06/07 jQuery
bootstrapvalidator之API学习教程
2017/06/29 Javascript
JS+canvas实现的五子棋游戏【人机大战版】
2017/07/19 Javascript
vue实现类似淘宝商品评价页面星级评价及上传多张图片功能
2018/10/29 Javascript
利用Promise自定义一个GET请求的函数示例代码
2019/03/20 Javascript
浅谈JavaScript闭包
2019/04/09 Javascript
手把手教你使用TypeScript开发Node.js应用
2019/05/06 Javascript
原生js实现日历效果
2020/03/02 Javascript
JS前端模块化原理与实现方法详解
2020/03/17 Javascript
js实现滑动进度条效果
2020/08/21 Javascript
python中as用法实例分析
2015/04/30 Python
Python简单实现阿拉伯数字和罗马数字的互相转换功能示例
2018/04/17 Python
python numpy元素的区间查找方法
2018/11/14 Python
利用python读取YUV文件 转RGB 8bit/10bit通用
2019/12/09 Python
在keras中对单一输入图像进行预测并返回预测结果操作
2020/07/09 Python
解决python的空格和tab混淆而报错的问题
2021/02/26 Python
芬兰攀岩、山地运动和户外活动用品购物网站:Bergfreunde
2016/10/06 全球购物
澳大利亚墨尔本的在线时装店:LORETA
2018/09/14 全球购物
BudgetAir印度:预订航班、酒店和汽车租赁
2019/07/07 全球购物
物业管理大学生个人的自我评价
2013/10/10 职场文书
婚礼答谢宴主持词
2014/03/14 职场文书
警察群众路线整改措施
2014/09/26 职场文书
2014小学数学教师个人工作总结
2014/12/18 职场文书
2015年九一八事变纪念活动实施方案
2015/05/06 职场文书
运动会广播稿20字
2015/08/19 职场文书