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打造PHP的AJAX表单提交实例
Nov 03 Javascript
js中判断控件是否存在
Aug 25 Javascript
js中使用replace方法完成某个字符的转换
Aug 20 Javascript
Labelauty?jQuery单选框/复选框美化插件分享
Sep 26 Javascript
多功能jQuery树插件zTree实现权限列表简单实例
Jul 12 Javascript
JS实现的幻灯片切换显示效果
Sep 07 Javascript
js实现网页的两个input标签内的数值加减(示例代码)
Aug 15 Javascript
详解Vue快速零配置的打包工具——parcel
Jan 16 Javascript
浅谈node中的cluster集群
Jun 02 Javascript
nuxt.js 缓存实践
Jun 25 Javascript
对layui初始化列表的CheckBox属性详解
Sep 13 Javascript
node.js通过url读取文件
Oct 16 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也可以?成Shell Script
2006/10/09 PHP
PHP 组件化编程技巧
2009/06/06 PHP
php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法
2014/11/04 PHP
php实现专业获取网站SEO信息类实例
2015/04/02 PHP
PHP简单实现正则匹配省市区的方法
2018/04/13 PHP
php设计模式之适配器模式实例分析【星际争霸游戏案例】
2020/04/07 PHP
善用事件代理,警惕闭包的性能陷阱。
2011/01/20 Javascript
JavaScript运算符小结
2015/06/03 Javascript
javascript实现树形菜单的方法
2015/07/17 Javascript
JS动态计算移动端rem的解决方案
2016/10/14 Javascript
Bootstrap Modal遮罩弹出层代码分享
2016/11/21 Javascript
通过jsonp获取json数据实现AJAX跨域请求
2017/01/22 Javascript
第一次记录Bootstrap table学习笔记(1)
2017/05/18 Javascript
jQuery扇形定时器插件pietimer使用方法详解
2017/07/18 jQuery
bootstrap table表格插件之服务器端分页实例代码
2018/09/12 Javascript
JS事件绑定的常用方式实例总结
2019/03/02 Javascript
浅析Vue下的components模板使用及应用
2019/11/27 Javascript
详解微信小程序动画Animation执行过程
2020/09/23 Javascript
[01:18]一目了然!DOTA2DotA快捷操作对比第一弹
2014/07/01 DOTA
Python的一些用法分享
2012/10/07 Python
python3人脸识别的两种方法
2019/04/25 Python
python selenium实现发送带附件的邮件代码实例
2019/12/10 Python
python中有函数重载吗
2020/05/28 Python
宝拉珍选官方旗舰店:2%水杨酸精华液,收缩毛孔粗大和祛痘
2018/07/01 全球购物
办公室前台岗位职责范本
2013/12/10 职场文书
高二化学教学反思
2014/01/30 职场文书
给老婆的保证书范文
2014/04/28 职场文书
安全生产目标管理责任书
2014/07/25 职场文书
整改落实自查报告
2014/11/05 职场文书
2014年采购员工作总结
2014/11/18 职场文书
长城导游词300字
2015/01/30 职场文书
市场总监岗位职责
2015/02/11 职场文书
2016年清明节红领巾广播稿
2015/12/17 职场文书
个人道歉信大全
2019/04/11 职场文书
怎样评估创业计划书是否有可行性?
2019/08/07 职场文书
mysql聚集索引、辅助索引、覆盖索引、联合索引的使用
2022/02/12 MySQL