博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vue.js 插件开发
阅读量:7056 次
发布时间:2019-06-28

本文共 1071 字,大约阅读时间需要 3 分钟。

Vue.js 的插件应当有一个公开方法 install 。这个方法的第一个参数是 Vue 构造器 , 第二个参数是一个可选的选项对象:

MyPlugin.install = function (Vue, options) {

  Vue.myGlobalMethod = function () {  // 1. 添加全局方法或属性,如: vue-custom-element

    // 逻辑...

  }

  Vue.directive('my-directive', {  // 2. 添加全局资源:指令/过滤器/过渡等,如 vue-touch

    bind (el, binding, vnode, oldVnode) {

      // 逻辑...

    }

    ...

  })

  Vue.mixin({

    created: function () {  // 3. 通过全局 mixin方法添加一些组件选项,如: vuex

      // 逻辑...

    }

    ...

  })

  Vue.prototype.$myMethod = function (options) {  // 4. 添加实例方法,通过把它们添加到 Vue.prototype 上实现

    // 逻辑...

  }

}

 

接下来要讲到的 vue-toast 插件则是通过添加实例方法实现的。我们先来看个小例子。先新建个js文件来编写插件:toast.js

// toast.js

var Toast = {};

Toast.install = function (Vue, options) {

    Vue.prototype.$msg = 'Hello World';

}

module.exports = Toast;

 

在 main.js 中,需要导入 toast.js 并且通过全局方法 Vue.use() 来使用插件:

 

// main.js

import Vue from 'vue';

import Toast from './toast.js';

Vue.use(Toast);

然后,我们在组件中来获取该插件定义的 $msg 属性。

 

// App.vue

export default {

    mounted(){

        console.log(this.$msg);         // Hello World

    }

}

可以看到,控制台成功的打印出了 Hello World 。既然 $msg 能获取到,那么我们就可以来实现我们的 vue-toast 插件了

 

转载于:https://www.cnblogs.com/vs1435/p/6632798.html

你可能感兴趣的文章
Eclipse对于多个Java项目的支持并不友好!
查看>>
Pandas Series数据结构基本操作
查看>>
ubuntu桌面环境配置及切换
查看>>
oracle常用查询三
查看>>
码字定式之SQL(6)
查看>>
命名空间“Microsoft”中不存在类型或命名空间名“Reporting”(是否缺少程序集引用?)...
查看>>
【转】Scheme 编程环境的设置
查看>>
异常分类,异常抛出位置
查看>>
需求分析与原型设计
查看>>
敌兵布阵 HDU - 1166 (树状数组模板题,线段树模板题)
查看>>
代码赏析——史丰收速算
查看>>
oracle恢复误删除表
查看>>
Navicat for MySQL常见命令
查看>>
Threading and Tasks in Chrome
查看>>
七、Maven依赖管理
查看>>
Android 学习
查看>>
工厂模式
查看>>
spring中的web上下文,spring上下文,springmvc上下文区别(超详细)(转载)
查看>>
RxSwift 对 MJRefresh 使用的封装
查看>>
leetcode 118 Pascal's Triangle
查看>>