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会阻止相同组件的重复注册
相关推荐
To_OC2 小时前
别再串行写 await 了,Promise.all 才是并行请求的正确打开方式
前端·javascript·promise
To_OC3 小时前
LC 17 电话号码的字母组合:我的回溯算法,就是从这道题开窍的
javascript·算法·leetcode
vipbic3 小时前
中后台越做越乱后,我用插件化把它救回来了
前端·vue.js
Hyyy3 小时前
Computer Use 适合做什么,不适合做什么——一次真实使用后的思考
前端
小和尚同志3 小时前
前端 AI 单元测试思考与落地
前端·人工智能·aigc
invicinble4 小时前
c端系统,其实更像一个信息展示平台
前端
你怎么知道我是队长5 小时前
JavaScript的变量和数据类型介绍
开发语言·javascript·ecmascript
李姆斯5 小时前
管理是否可以被完全量化
前端·产品经理·团队管理
名字还没想好☜6 小时前
Next.js 中间件实战:鉴权、重定向与 A/B 分流
开发语言·前端·javascript·中间件·react·next.js
广州灵眸科技有限公司6 小时前
瑞芯微RV1126B开发板(EASY-EAI-PI2) INI文件操作
java·前端·javascript·网络·人工智能