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 表格插件整理
Apr 27 Javascript
JS 事件绑定函数代码
Apr 28 Javascript
Jquery下attr和removeAttr的使用方法
Dec 28 Javascript
到处都是jQuery选择器的年代 不了解它们的性能,行吗
Jun 18 Javascript
jQuery实现带滑动条的菜单效果代码
Aug 26 Javascript
AngularJS教程之简单应用程序示例
Aug 16 Javascript
React中上传图片到七牛的示例代码
Oct 10 Javascript
vue实现商城购物车功能
Nov 27 Javascript
JavaScript 俄罗斯方块游戏实现方法与代码解释
Apr 08 Javascript
解决vue+webpack项目接口跨域出现的问题
Aug 10 Javascript
vue实现动态给id赋值,点击事件获取当前点击的元素的id操作
Nov 09 Javascript
Vue的列表之渲染,排序,过滤详解
Feb 24 Vue.js
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
2019十大人气国漫
2020/03/13 国漫
php实现parent调用父类的构造方法与被覆写的方法
2015/02/11 PHP
php源码分析之DZX1.5字符串截断函数cutstr用法
2015/06/17 PHP
php删除数组指定元素实现代码
2017/05/03 PHP
PHP编程实现微信企业向用户付款的方法示例
2017/07/26 PHP
php7安装mongoDB扩展的方法分析
2017/08/02 PHP
laravel 实现向公共模板中传值 (view composer)
2019/10/22 PHP
Javascript 判断 object 的特定类转载
2007/02/01 Javascript
jQuery的写法不同导致的兼容性问题的解决方法
2010/07/29 Javascript
javascript同页面多次调用弹出层具体实例代码
2013/08/16 Javascript
javaScript面向对象继承方法经典实现
2013/08/20 Javascript
jQuery Easyui实现左右布局
2016/01/26 Javascript
jQuery取消特定的click事件
2016/02/29 Javascript
用jQuery实现圆点图片轮播效果
2017/03/19 Javascript
Web前端框架Angular4.0.0 正式版发布
2017/03/28 Javascript
基于JS实现仿京东搜索栏随滑动透明度渐变效果
2017/07/10 Javascript
Angular4开发解决跨域问题详解
2017/08/28 Javascript
总结js函数相关知识点
2018/02/27 Javascript
「中高级前端面试」JavaScript手写代码无敌秘籍(推荐)
2019/04/08 Javascript
微信小程序实现身份证取景框拍摄
2020/09/09 Javascript
浅谈js数组splice删除某个元素爬坑
2020/10/14 Javascript
Python求出0~100以内的所有素数
2018/01/23 Python
keras的backend 设置 tensorflow,theano操作
2020/06/30 Python
英国最大的LED专业零售商:Led Hut
2018/03/16 全球购物
OSPREY LONDON官网:英国本土皮具品牌
2019/05/31 全球购物
便利店投资的创业计划书
2014/01/12 职场文书
学生打架检讨书
2014/02/14 职场文书
市场总经理岗位职责
2014/04/11 职场文书
优秀求职信
2014/05/29 职场文书
七一讲话心得体会
2014/09/05 职场文书
2014年大学生党员自我评议
2014/09/22 职场文书
学生上课说话检讨书
2014/10/25 职场文书
刑事附带民事起诉状
2015/05/19 职场文书
python - timeit 时间模块
2021/04/06 Python
Pandas数据类型之category的用法
2021/06/28 Python
MySQL数据库查询进阶之多表查询详解
2022/04/08 MySQL