zoukankan      html  css  js  c++  java
  • Vue学习(二十)插件全攻略

    Vue.use()

    1. 方法接收一个参数。这个参数必须具有install方法。Vue.use函数内部会调用参数的install方法。

    2. 如果插件没有被注册过,那么注册成功之后会给插件添加一个installed的属性值为true。Vue.use方法内部会检测插件的installed属性,从而避免重复注册插件。

    3. 插件的install方法将接收两个参数,第一个是参数是Vue,第二个参数是配置项options。

    4. 在install方法内部可以添加全局方法或者属性、全局指令、mixin混入、添加实例方法、使用Vue.component()注册组件等。

    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) {
        // 逻辑...
      }
      
      // 5. 添加组件
      Vue.component()
    }

    解析element-ui组件库是如何注册的

    1、main.js文件中引入element-ui

    import ElementUI from 'element-ui'
    
    Vue.use(ElementUI)

    2、调用ElementUI对象下的install方法

    image.png

    index.js文件中导入了所有的组件,存放在components变量中,然后再install中循环全局注册组件

    image.png

    3、单独全局注册某一个组件

    image.png

    在main.vue中定义了aside组件

    image.png

    在aside/index.js文件中导入组件并定义install方法

    image.png

    然后再main.js中单独注册

    import { Aside } from 'element-ui'
    
    Vue.use(Aside)// 就会调用Aside组件对象中的install进行全局注册
     
    // 页面中就可以直接使用该组件
    <aside></aside>

    使用插件注册自定义组件(全局)

    组件index.vue 

    在index.js中引入组件,并定义install方法

    main.js中注册

    注意:和示例的区别在于导出的是install方法,目前看两种都可以

    使用插件注册自定义指令(全局) 

    参考

    vue官网教程:插件

    vue官网api:Vue.use( plugin )

    理解vue.use和开发组件库

  • 相关阅读:
    Webpack笔记(三)——一款破产版脚手架的开发
    Google C++命名规范
    视觉词袋模型(BOVW)
    机器学习之四:决策树
    Zernike不变矩
    互联网产品各阶段的标准流程文档
    机器学习之三:logistic回归(最优化)
    Python
    机器学习之二:K-近邻(KNN)算法
    Python学习之二:Python 与 C 区别
  • 原文地址:https://www.cnblogs.com/kunmomo/p/15277145.html
Copyright © 2011-2022 走看看