vue中组件和插件有什么区别?

78 阅读2分钟

一:组件是什么?

组件就是把图形,非图形的各种逻辑均抽象为一个统一的概念(组件)来实现开发模式,在vue中每一个.vue文件都可以视为一个组件。

组件的优势:

  • 降低整个系统的耦合度,在保持接口不变的情况下,可以替换不同的组件快速完成需求。
  • 调试方便。可以快速定位,因为每个组件都是低耦合,职责单一
  • 提高可维护性

二:插件是什么?

插件通常是用来为Vue添加全局功能。

  • 添加全局方法或者属性
  • 添加全局资源
  • 通过全局混入来添加一些组件选项
  • 添加Vue实例方法,通过把它们添加到Vue.prototype上实现
  • 一个库,提供自己的API,同时提供上面提到的一个或者多个功能

三:两者的区别

  • 编写形式
  • 注册形式
  • 使用场景

编写插件:

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

注册形式: 组件注册:全局注册和局部注册 插件注册:Vue.use(插件名字, {配置项}) 注意:
1,注册插件的时候,需要在调用new Vue()启动应用之前完成 2,Vue.use会自动阻止多次注册相同的插件,只会注册一次

四:使用场景

组件是用来构成你的App的业务模块,他的目标是app.vue 插件是用来增加你的技术栈的功能模块,他目标是Vue本身。 简单来说,插件是对vue组件的功能的增加或者补充。

参考网站:mp.weixin.qq.com/s?__biz=MzU…