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 相关文章推荐
网站导致浏览器崩溃的原因总结(多款浏览器) 推荐
Apr 15 Javascript
js querySelector和getElementById通过id获取元素的区别
Apr 20 Javascript
无刷新预览所选择的图片示例代码
Apr 02 Javascript
浅析js预加载/延迟加载
Sep 25 Javascript
jQuery+PHP星级评分实现方法
Oct 02 Javascript
Jquery EasyUI实现treegrid上显示checkbox并取选定值的方法
Apr 29 Javascript
Js获取图片原始宽高的实现代码
May 17 Javascript
JavaScript:Date类型全面解析
May 19 Javascript
详解JavaScript中this的指向问题
Jan 20 Javascript
jQuery.validate.js表单验证插件的使用代码详解
Oct 22 jQuery
微信小程序canvas绘制圆角base64图片的实现
Aug 18 Javascript
在vue中使用vuex,修改state的值示例
Nov 08 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对MongoDB[NoSQL]数据库的操作
2013/03/01 PHP
PHP类中的魔术方法(Magic Method)简明总结
2014/07/08 PHP
phpword插件导出word文件时中文乱码问题处理方案
2014/08/19 PHP
php使用gettimeofday函数返回当前时间并存放在关联数组里
2015/03/19 PHP
php使用Jpgraph创建折线图效果示例
2017/02/15 PHP
SyntaxHighlighter代码加色使用方法
2008/09/07 Javascript
js 获取和设置css3 属性值的实现方法
2013/05/06 Javascript
toggle()隐藏问题的解决方法
2014/02/17 Javascript
JavaScript中对象property的删除方法介绍
2014/12/30 Javascript
jQuery实现当前页面标签高亮显示的方法
2015/03/10 Javascript
XML文件转化成NSData对象的方法
2015/08/12 Javascript
fullPage.js和CSS3实现全屏滚动效果
2017/05/05 Javascript
javascript中神奇的 Date对象小结
2017/10/12 Javascript
react项目实践之webpack-dev-serve
2018/09/14 Javascript
微信小程序中如何计算距离某个节日还有多少天
2019/07/15 Javascript
vue-cli基础配置及webpack配置修改的完整步骤
2019/10/20 Javascript
VUE实现Studio管理后台之鼠标拖放改变窗口大小
2020/03/04 Javascript
bootstrap-table后端分页功能完整实例
2020/06/01 Javascript
[01:09]DOTA2次级职业联赛 - ishow.HMM战队宣传片
2014/12/01 DOTA
Python中的高级函数map/reduce使用实例
2015/04/13 Python
python实现网站的模拟登录
2016/01/04 Python
python黑魔法之编码转换
2016/01/25 Python
如何修复使用 Python ORM 工具 SQLAlchemy 时的常见陷阱
2019/11/19 Python
推荐技术人员一款Python开源库(造数据神器)
2020/07/08 Python
HTML5 画布canvas使用方法
2016/03/18 HTML / CSS
英国皇家造币厂:The Royal Mint
2018/10/05 全球购物
REN Clean Skincare官网:英国本土有机护肤品牌
2019/02/23 全球购物
泰国时尚电商:POMELO Fashion
2020/03/11 全球购物
俄罗斯厨房产品购物网站:COOK HOUSE
2021/03/15 全球购物
幼儿园大班毕业感言
2014/02/06 职场文书
小区推广策划方案
2014/06/06 职场文书
供电工程专业求职信
2014/08/09 职场文书
民主评议党员登记表自我评价
2014/10/20 职场文书
2014年终工作总结范本
2014/12/15 职场文书
故宫的导游词
2015/01/31 职场文书
简述python四种分词工具,盘点哪个更好用?
2021/04/13 Python