zoukankan      html  css  js  c++  java
  • vue -- 插件的开发与使用

    开发插件

    插件通常会为 Vue 添加全局功能。插件的范围没有限制——一般有下面几种:

    1、添加全局方法或者属性,如: vue-custom-element。

    2、添加全局资源:指令/过滤器/过渡等,如 vue-touch。

    3、通过全局 mixin 方法添加一些组件选项,如: vue-router。

    4、添加 Vue 实例方法,通过把它们添加到 Vue.prototype 上实现。

    5、一个库,提供自己的 API,同时提供上面提到的一个或多个功能,如 vue-router。

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

    MyPlugin.install = function (Vue, options) {
      // 1. 添加全局方法或属性
      Vue.myGlobalMethod = function () {
        // 逻辑...
      }
    
      // 2. 添加全局资源
      Vue.directive('my-directive', {
        bind (el, binding, vnode, oldVnode) {
          // 逻辑...
        }
        ...
      })
    
      // 3. 注入组件
      Vue.mixin({
        created: function () {
          // 逻辑...
        }
        ...
      })
    
      // 4. 添加实例方法
      Vue.prototype.$myMethod = function (methodOptions) {
        // 逻辑...
      }
    }
    

    其核心还是通过prototype来添加方法和属性。

    使用插件

    // 调用 `MyPlugin.install(Vue)`
    Vue.use(MyPlugin)
    
    //也可以传入一个选项对象:
    Vue.use(MyPlugin, { someOption: true })
    

    Vue.use 会自动阻止多次注册相同插件,届时只会注册一次该插件。

    此处有大量好用的插件和库 --> awesome-vue

    待续……

  • 相关阅读:
    2019.04.19 坦克大战
    2019.04.18 异常和模块
    2019.04.17 面向对象编程篇207
    fork操作时的copy-on-write策略
    Redis阻塞原因
    Redis持久化-fork操作
    Redis持久化-AOF重写
    Redis持久化-aof
    Redis持久化
    Shopify给左右两边布局的banner图加链接,链接失败
  • 原文地址:https://www.cnblogs.com/adoctors/p/8531616.html
Copyright © 2011-2022 走看看