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 相关文章推荐
在多个页面使用同一个HTML片段的代码
Mar 04 Javascript
js控制的回到页面顶端goTop的代码实现
Mar 20 Javascript
jquery重新播放css动画所遇问题解决
Aug 21 Javascript
jQuery select表单提交省市区城市三级联动核心代码
Jun 09 Javascript
vue插件vue-resource的使用笔记(小结)
Aug 04 Javascript
Bootstrap 树控件使用经验分享(图文解说)
Nov 06 Javascript
vue forEach循环数组拿到自己想要的数据方法
Sep 21 Javascript
node.js实现为PDF添加水印的示例代码
Dec 05 Javascript
javascript对HTML字符转义与反转义
Dec 13 Javascript
vue-cli中使用高德地图的方法示例
Mar 28 Javascript
微信小程序实现图片选择并预览功能
Jul 25 Javascript
vscode中的vue项目报错Property ‘xxx‘ does not exist on type ‘CombinedVueInstance<{ readyOnly...Vetur(2339)
Sep 11 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下清空字符串中的HTML标签的代码
2010/09/06 PHP
PHP+apc+ajax实现的ajax_upload上传进度条代码
2016/01/25 PHP
PHP如何使用array_unshift()在数组开头插入元素
2020/09/01 PHP
浏览器页面区域大小的js获取方法
2013/09/21 Javascript
javascript异步编程的4种方法
2014/02/19 Javascript
14款NodeJS Web框架推荐
2014/07/11 NodeJs
JavaScript中判断整字类型最简洁的实现方法
2014/11/08 Javascript
Active控件问题小结(附解决办法)
2016/06/09 Javascript
JS获取html元素的标记名实现方法
2016/10/08 Javascript
vue router自动判断左右翻页转场动画效果
2017/10/10 Javascript
Vue使用枚举类型实现HTML下拉框步骤详解
2018/02/05 Javascript
nuxt.js 缓存实践
2018/06/25 Javascript
微信小程序网络封装(简单高效)
2018/08/06 Javascript
Angular ElementRef简介及其使用
2018/10/01 Javascript
JS事件绑定的常用方式实例总结
2019/03/02 Javascript
ES6 Promise对象的含义和基本用法分析
2019/06/14 Javascript
js实现多张图片每隔一秒切换一张图片
2019/07/29 Javascript
JS实现电商商品展示放大镜特效
2020/01/07 Javascript
解决ant design vue中树形控件defaultExpandAll设置无效的问题
2020/10/26 Javascript
Vue.js桌面端自定义滚动条组件之美化滚动条VScroll
2020/12/01 Vue.js
使用python开发vim插件及心得分享
2014/11/04 Python
Eclipse中Python开发环境搭建简单教程
2016/03/23 Python
每天迁移MySQL历史数据到历史库Python脚本
2018/04/13 Python
解决pandas中读取中文名称的csv文件报错的问题
2018/07/04 Python
python3利用tcp实现文件夹远程传输
2018/07/28 Python
Python3中的tuple函数知识点讲解
2021/01/03 Python
canvas 绘图时位置偏离的问题解决
2020/09/16 HTML / CSS
Foot Locker加拿大官网:美国知名运动产品零售商
2019/07/21 全球购物
创业资金计划书
2014/02/06 职场文书
《颐和园》教学反思
2014/02/26 职场文书
市政管理求职信范文
2014/05/07 职场文书
基层党员四风问题自我剖析材料
2014/09/29 职场文书
学校运动会广播稿范文
2014/10/02 职场文书
2015年医德医风工作总结
2015/04/02 职场文书
交互式可视化js库gojs使用介绍及技巧
2022/02/18 Javascript
Python捕获、播放和保存摄像头视频并提高视频清晰度和对比度
2022/04/14 Python