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里的dialog对话框插件为框架页(iframe) 的方法
Sep 14 Javascript
JavaScript 语言基础知识点总结(思维导图)
Nov 10 Javascript
jQuery实现的简单折叠菜单(折叠面板)效果代码
Sep 16 Javascript
真正好用的js验证上传文件大小的简单方法
Oct 27 Javascript
JS正则匹配中文的方法示例
Jan 06 Javascript
超全面的vue.js使用总结
Feb 12 Javascript
Chrome调试折腾记之JS断点调试技巧
Sep 11 Javascript
webpack3之loader全解析
Oct 26 Javascript
详解小程序不同页面之间通讯的解决方案
Nov 23 Javascript
JavaScript偏函数与柯里化实例详解
Mar 27 Javascript
bootstrap Table实现合并相同行
Jul 19 Javascript
详解vue-flickity的fullScreen功能实现
Apr 07 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介绍篇
2010/10/26 PHP
php导入导出excel实例
2013/10/25 PHP
6种php上传图片重命名的方法实例
2013/11/04 PHP
你可能不知道PHP get_meta_tags()函数
2014/05/12 PHP
php简单获取复选框值的方法
2016/05/11 PHP
PHP+ajax实现上传、删除、修改单张图片及后台处理逻辑操作详解
2020/02/12 PHP
cookie在javascript中的使用技巧以及隐私在服务器端的设置
2012/12/03 Javascript
JScript分割字符串示例代码
2013/09/04 Javascript
用js实现in_array的方法
2013/11/05 Javascript
JS计算网页停留时间代码
2014/04/28 Javascript
jQuery标签编辑插件Tagit使用指南
2015/04/21 Javascript
使用 stylelint检查CSS_StyleLint
2016/04/28 Javascript
BootStrap select2 动态改变值的方法
2017/02/10 Javascript
浅谈JavaScript中的apply/call/bind和this的使用
2017/02/26 Javascript
vue父子组件的数据传递示例
2017/03/07 Javascript
VUE实现表单元素双向绑定(总结)
2017/08/08 Javascript
jQuery封装animate.css的实例
2018/01/04 jQuery
vue下拉列表功能实例代码
2018/04/08 Javascript
Vue.js 实现数据展示全部和收起功能
2018/09/05 Javascript
学习node.js 断言的使用详解
2019/03/18 Javascript
jQuery实现计算器功能
2020/10/19 jQuery
ant design vue datepicker日期选择器中文化操作
2020/10/28 Javascript
[03:48]DOTA2完美大师赛主赛事第二日精彩集锦
2017/11/24 DOTA
python中强大的format函数实例详解
2018/12/05 Python
关于Tensorflow分布式并行策略
2020/02/03 Python
Django 项目通过加载不同env文件来区分不同环境
2020/02/17 Python
HTML5中Localstorage的使用教程
2015/07/09 HTML / CSS
State Cashmere官网:半零售价可持续蒙古羊绒
2020/02/26 全球购物
eBay美国官网:eBay.com
2020/10/24 全球购物
C#笔试题
2015/07/14 面试题
教师自我评价范例
2013/09/24 职场文书
高中校园广播稿3篇
2014/09/29 职场文书
2015羊年春节慰问信
2015/02/14 职场文书
React forwardRef的使用方法及注意点
2021/06/13 Javascript
详细聊聊浏览器是如何看闭包的
2021/11/11 Javascript
TypeScript 使用 Tuple Union 声明函数重载
2022/04/07 Javascript