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 相关文章推荐
区分JS中的undefined,null,&quot;&quot;,0和false
Mar 08 Javascript
JS 显示当前日期与时间的代码
Mar 24 Javascript
jQuery setTimeout()函数使用方法
Apr 07 Javascript
利用JS进行图片的切换即特效展示图片
Dec 03 Javascript
页面加载完成后再执行JS的jquery写法以及区别说明
Feb 22 Javascript
js窗口震动小程序分享
Nov 28 Javascript
Javascript this 函数深入详解
Dec 13 Javascript
JS 60秒后重新发送验证码的实例讲解
Jul 26 Javascript
jQuery获取table表中的td标签(实例讲解)
Jul 28 jQuery
在vue中给列表中的奇数行添加class的实现方法
Sep 05 Javascript
详解Vue.js和layui日期控件冲突问题解决办法
Jul 25 Javascript
js判断复选框是否选中的方法示例【基于jQuery】
Oct 10 jQuery
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
Yii框架自定义数据库操作组件示例
2019/11/11 PHP
jQuery学习笔记(3)--用jquery(插件)实现多选项卡功能
2013/04/08 Javascript
浅析return false的正确使用
2013/11/04 Javascript
javascript将相对路径转绝对路径示例
2014/03/14 Javascript
arcgis for js 修改infowindow样式的方法
2016/11/02 Javascript
浅谈Vuejs中nextTick()异步更新队列源码解析
2017/12/31 Javascript
nodejs+mongodb aggregate级联查询操作示例
2018/03/17 NodeJs
vue 组件高级用法实例详解
2018/04/11 Javascript
不得不知的ES6小技巧
2018/07/28 Javascript
详解使用element-ui table组件的筛选功能的一个小坑
2018/11/02 Javascript
详解Vue CLI 3.0脚手架如何mock数据
2018/11/23 Javascript
微信小程序实现判断是分享到群还是个人功能示例
2019/05/03 Javascript
深入理解Vue keep-alive及实践总结
2019/08/21 Javascript
python中的sort方法使用详解
2014/07/25 Python
python常见数制转换实例分析
2015/05/09 Python
Python开发之快速搭建自动回复微信公众号功能
2016/04/22 Python
Python的装饰器使用详解
2017/06/26 Python
用pycharm开发django项目示例代码
2018/10/24 Python
python/sympy求解矩阵方程的方法
2018/11/08 Python
python离线安装外部依赖包的实现
2020/02/13 Python
Python xml、字典、json、类四种数据类型如何实现互相转换
2020/05/27 Python
python安装sklearn模块的方法详解
2020/11/28 Python
html5定制表单_动力节点Java学院整理
2017/07/11 HTML / CSS
HTML5 实现一个访问本地文件的实例
2012/12/13 HTML / CSS
HTML5中实现拖放效果无须借助javascript
2012/12/26 HTML / CSS
H5 canvas实现贪吃蛇小游戏
2017/07/28 HTML / CSS
巴黎卡诗加拿大官网:Kérastase加拿大
2018/11/12 全球购物
Schecker荷兰:狗狗用品和配件
2019/06/06 全球购物
初中学生期末评语
2014/04/24 职场文书
纪念九一八事变演讲稿:牢记历史,捍卫主权
2014/09/14 职场文书
大学生支教感言
2015/08/01 职场文书
中学教师教学工作总结
2015/08/13 职场文书
小学生法制教育心得体会
2016/01/14 职场文书
pycharm debug 断点调试心得分享
2021/04/16 Python
python批量更改目录名/文件名的方法
2021/04/18 Python
中国十大神话动漫电影排行榜 哪吒登顶 白蛇缘起排第七
2022/03/21 国漫