vue组件和插件的区别与联系

文章目录

  • 组件和插件的区别与联系
  • [1. 什么是组件](#1. 什么是组件)
  • [2. 什么是插件](#2. 什么是插件)
  • [3. 二者的区别](#3. 二者的区别)
    • [3.1 针对范围](#3.1 针对范围)
    • [3.2 编写形式](#3.2 编写形式)
      • [3.2.1 组件的编写](#3.2.1 组件的编写)
      • [3.2.2 插件的编写](#3.2.2 插件的编写)
    • [3.3 注册形式](#3.3 注册形式)
      • [3.3.1 组件的注册](#3.3.1 组件的注册)
      • [3.3.2 插件的注册](#3.3.2 插件的注册)

组件和插件的区别与联系

1. 什么是组件

  • 组件就是把图形或者非图形的各种逻辑抽象为一个统一的概念来实现复用,这个概念就是组件,在vue中,每一个.vue文件都可以视为一个组件
  • 组件具有以下优势
  1. 降低系统的耦合度,在保持接口不变的情况下,替换不同的组件,完成不同的功能
  2. 方便调试,应用是由很多的组件组合而成的,哪个组件除了问题问题可以快速定位到
  3. 提高维护性,组件功能抽象且单一,可以被复用,可以通过代码优化实现系统的优化

2. 什么是插件

  • 插件是针对VUe本身,而不是我们的项目,目的是为了扩展VUE的全局功能
  • 可以有以下类型的插件
  1. 添加全局方法或者属性,比如vue-custom-elemtn
  2. 添加全局资源:指令、过滤器、过度等,如vue-touch
  3. 通过全局混入来添加一些组件的选项,比如vue-router
  4. 添加VUe实例方法,通过把他们添加到Vue.property上实现

3. 二者的区别

3.1 针对范围

  • 组件一般针对具体的项目而言,插件针对VUE本身

3.2 编写形式

3.2.1 组件的编写

  • 我们可以使用vue单文件的形式,也可使用template属性来编写
  • ** vue单文件组件 **
vue 复制代码
<template>
  <div>I`m a Component</div>
</template>
<script>
  export default{
      data(){
          return{
              
          }
      },
    methods:{
          
    }
  }
</script>
  • ** 通过template属性编写 **
vue 复制代码
<template id="myComponent">
  <div>I`m a Component</div>
</template>
Vue.component('componentA',{
    template:'#myComponentt'
    template:'<div>I`m a Component</div>'//如果组件内容少,可以直接在行内写
})

3.2.2 插件的编写

  • vue插件的视线应该暴露一个install方法,第一个参数为vue构造器,第二个参数为options
js 复制代码
Plugin.install=function (Vue,options){
    //1. 添加全局方法或者属性
    Vue.MyGlobalMethod=function(){
        
    }
    // 2. 添加全局资源
    Vue.directive('my-directive',{
        bind(){}
    })
    // 3. 注入组件的选项
    Vue.mixin({
        create(){
            
        }
    })
    // 4. 添加实力方法
    Vue.prototype.$myMethod=function (){
        
    }
}

3.3 注册形式

3.3.1 组件的注册

  • 组件的注册分为全局组件注册和局部组件注册
  • 全局组件注册通过Vue.component(componentName,options)
  • 局部注册只需要在用到的地方通过components属性注册一个组件
js 复制代码
import {myComponent} from 'xxx'
export default{
    components:{
        myComponent
    }
}

3.3.2 插件的注册

  • 插件的注册通过Vue.use()的方式进行安装注册,第一个参数为插件的名字第二个是options
js 复制代码
Vue.use(PlguinName,options)
  • 插件注册的时候,一定要在new Vue启动之前,而且Vue。use会阻止相同组件的重复注册
相关推荐
南玖i1 小时前
vue3 通过 Vue3DraggableResizable实现拖拽弹窗,可修改大小
前端·javascript·vue.js
excel1 小时前
Web发展与Vue.js导读
前端
YAY_tyy1 小时前
Three.js 开发实战教程(五):外部 3D 模型加载与优化实战
前端·javascript·3d·three.js
Zuckjet_4 小时前
开启 3D 之旅 - 你的第一个 WebGL 三角形
前端·javascript·3d·webgl
2401_863801464 小时前
探索 12 种 3D 文件格式:综合指南
前端·3d
珍宝商店5 小时前
前端老旧项目全面性能优化指南与面试攻略
前端·面试·性能优化
bitbitDown5 小时前
四年前端分享给你的高效开发工具库
前端·javascript·vue.js
YAY_tyy5 小时前
【JavaScript 性能优化实战】第六篇:性能监控与自动化优化
javascript·性能优化·自动化
gnip6 小时前
实现AI对话光标跟随效果
前端·javascript
脑花儿7 小时前
ABAP SMW0下载Excel模板并填充&&剪切板方式粘贴
java·前端·数据库