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 相关文章推荐
jQuery事件绑定.on()简要概述及应用
Feb 07 Javascript
使用jquery实现以post打开新窗口
Mar 19 Javascript
Three.js学习之Lamber材质和Phong材质
Aug 04 Javascript
防止Node.js中错误导致进程阻塞的办法
Aug 11 Javascript
基于JavaScript Array数组方法(新手必看篇)
Aug 20 Javascript
JavaScript基础——使用Canvas绘图
Nov 02 Javascript
jQuery图片拖动组件Dropzone用法示例
Jan 17 Javascript
Vue服务端渲染和Vue浏览器端渲染的性能对比(实例PK )
Mar 31 Javascript
浅谈通过JS拦截 pushState和replaceState事件
Jul 21 Javascript
vue 全选与反选的实现方法(无Bug 新手看过来)
Feb 09 Javascript
详解webpack loader和plugin编写
Oct 12 Javascript
详解Vue+ElementUI从零开始搭建自己的网站(一、环境搭建)
Apr 30 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 变量类型的强制转换
2009/10/23 PHP
PHP中spl_autoload_register()和__autoload()区别分析
2014/05/10 PHP
微信开发之网页授权获取用户信息(二)
2016/01/08 PHP
HTML页面如何象ASP一样接受参数
2007/02/07 Javascript
JavaScript DOM 学习第三章 内容表格
2010/02/19 Javascript
Jquery cookie操作代码
2010/03/14 Javascript
js里怎么取select标签里的值并修改
2012/12/10 Javascript
了不起的node.js读书笔记之例程分析
2014/12/22 Javascript
javascript实现链接单选效果的方法
2015/05/13 Javascript
JavaScript鼠标事件,点击鼠标右键,弹出div的简单实例
2016/08/03 Javascript
AngularJs表单验证实例代码解析
2016/11/29 Javascript
原JS实现banner图的常用功能
2017/06/12 Javascript
babel的使用及安装配置教程
2018/02/22 Javascript
vue 实现类似淘宝星级评分的示例
2018/03/01 Javascript
微信小程序的线程架构【推荐】
2019/05/14 Javascript
javascript自定义加载loading效果
2020/09/15 Javascript
[01:07:47]Secret vs Optic Supermajor 胜者组 BO3 第一场 6.4
2018/06/05 DOTA
Python实现的检测网站挂马程序
2014/11/30 Python
详细讲解用Python发送SMTP邮件的教程
2015/04/29 Python
python制作爬虫并将抓取结果保存到excel中
2016/04/06 Python
解决Python中字符串和数字拼接报错的方法
2016/10/23 Python
Win10下Python环境搭建与配置教程
2016/11/18 Python
解决python3 HTMLTestRunner测试报告中文乱码的问题
2018/12/17 Python
Python IDE Pycharm中的快捷键列表用法
2019/08/08 Python
关于numpy中eye和identity的区别详解
2019/11/29 Python
python3 正则表达式基础廖雪峰
2020/03/25 Python
div或img图片高度随宽度自适应的方法
2020/02/06 HTML / CSS
英国在线房屋中介网站:Yopa
2018/01/09 全球购物
英国玛莎百货新西兰:Marks & Spencer New Zealand
2019/07/21 全球购物
退伍老兵事迹材料
2014/01/31 职场文书
入党自我鉴定
2014/03/25 职场文书
人资专员岗位职责
2014/04/04 职场文书
党员批评与自我批评(5篇)
2014/09/23 职场文书
违反学校规则制度检讨书
2015/01/01 职场文书
文艺晚会开场白
2015/05/29 职场文书
Pytorch中TensorBoard及torchsummary的使用详解
2021/05/12 Python