>  기사  >  웹 프론트엔드  >  vue의 플러그인과 구성 요소의 차이점은 무엇입니까

vue의 플러그인과 구성 요소의 차이점은 무엇입니까

青灯夜游
青灯夜游원래의
2021-12-23 18:24:243999검색

차이점: 1. 구성 요소 등록은 "Vue.comComponent" 또는 "comComponents" 속성을 통해 이루어지며, 플러그인은 "Vue.use()"를 통해 이루어집니다. 2. 구성 요소는 앱의 비즈니스 모듈을 구성하는 데 사용됩니다. 그 목표는 "App.vue"이고 플러그인은 기술 스택을 향상시키는 데 사용되는 기능 모듈이며 그 목표는 Vue 자체입니다.

vue의 플러그인과 구성 요소의 차이점은 무엇입니까

이 튜토리얼의 운영 환경: Windows 7 시스템, vue 버전 2.9.6, DELL G3 컴퓨터.

1. 컴포넌트란 무엇입니까

컴포넌트의 이전 정의를 떠올려 보세요.

컴포넌트는 다양한 그래픽 및 비그래픽 로직을 통합된 개념(컴포넌트)으로 추상화하는 개발 모델입니다. 의 code>.vue 파일은 컴포넌트로 간주될 수 있습니다Vue中每一个.vue文件都可以视为一个组件

组件的优势

  • 降低整个系统的耦合度,在保持接口不变的情况下,我们可以替换不同的组件快速完成需求,例如输入框,可以替换为日历、时间、范围等组件作具体的实现

  • 调试方便,由于整个系统是通过组件组合起来的,在出现问题的时候,可以用排除法直接移除组件,或者根据报错的组件快速定位问题,之所以能够快速定位,是因为每个组件之间低耦合,职责单一,所以逻辑会比分析整个系统要简单

  • 提高可维护性,由于每个组件的职责单一,并且组件在系统中是被复用的,所以对代码进行优化可获得系统的整体升级

二、插件是什么

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

  • 添加全局方法或者属性。如: vue-custom-element
  • 添加全局资源:指令/过滤器/过渡等。如 vue-touch
  • 通过全局混入来添加一些组件选项。如vue-router
  • 添加 Vue 实例方法,通过把它们添加到 Vue.prototype 上实现。
  • 一个库,提供自己的 API,同时提供上面提到的一个或多个功能。如vue-router

三、两者的区别

两者的区别主要表现在以下几个方面:

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

编写形式

编写组件

编写一个组件,可以有很多方式,我们最常见的就是vue单文件的这种格式,每一个.vue文件我们都可以看成是一个组件

vue文件标准格式

<template>
</template>
<script>
export default{ 
    ...
}
</script>
<style>
</style>

我们还可以通过template属性来编写一个组件,如果组件内容多,我们可以在外部定义template组件内容,如果组件内容并不多,我们可直接写在template属性上

<template id="testComponent">     // 组件显示的内容
    <div>component!</div>   
</template>

Vue.component(&#39;componentA&#39;,{ 
    template: &#39;#testComponent&#39;  
    template: `<div>component</div>`  // 组件内容少可以通过这种形式
})

编写插件

vue插件的实现应该暴露一个 install 方法。这个方法的第一个参数是 Vue 构造器,第二个参数是一个可选的选项对象

MyPlugin.install = function (Vue, options) {
  // 1\. 添加全局方法或 property
  Vue.myGlobalMethod = function () {
    // 逻辑...
  }

  // 2\. 添加全局资源
  Vue.directive(&#39;my-directive&#39;, {
    bind (el, binding, vnode, oldVnode) {
      // 逻辑...
    }
    ...
  })

  // 3\. 注入组件选项
  Vue.mixin({
    created: function () {
      // 逻辑...
    }
    ...
  })

  // 4\. 添加实例方法
  Vue.prototype.$myMethod = function (methodOptions) {
    // 逻辑...
  }
}

注册形式

组件注册

vue组件注册主要分为全局注册与局部注册

全局注册通过Vue.component方法,第一个参数为组件的名称,第二个参数为传入的配置项

Vue.component(&#39;my-component-name&#39;, { /* ... */ })

局部注册只需在用到的地方通过components属性注册一个组件

const component1 = {...} // 定义一个组件export default {
    components:{
        component1   // 局部注册
    }}

插件注册

插件的注册通过Vue.use()的方式进行注册(安装),第一个参数为插件的名字,第二个参数是可选择的配置项

Vue.use(插件名字,{ /* ... */} )

注意的是:

注册插件的时候,需要在调用 new Vue() 启动应用之前完成

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

使用场景

具体的其实在插件是什么章节已经表述了,这里在总结一下

组件 (Component) 是用来构成你的 App 的业务模块,它的目标是 App.vue

插件 (Plugin) 是用来增强你的技术栈的功能模块,它的目标是 Vue 本身

简单来说,插件就是指对Vue

컴포넌트의 장점

🎜2. 플러그인이란 무엇인가요? 플러그인은 일반적으로 Vue에 전역 기능을 추가하는 데 사용됩니다. 플러그인의 기능 범위에는 엄격한 제한이 없습니다. 일반적으로 다음과 같은 유형이 있습니다. 🎜
  • 전역 메서드 또는 속성을 추가합니다. 예: vue-custom-element
  • 전역 리소스 추가: 지침/필터/전환 등 예를 들어 vue-touch
  • 글로벌 믹싱을 통해 일부 구성 요소 옵션을 추가합니다. 예를 들어, vue-router
  • Vue.prototype에 추가하여 Vue 인스턴스 메서드를 추가합니다.
  • 위에 언급된 기능 중 하나 이상을 제공하면서 자체 API를 제공하는 라이브러리입니다. vue-router
🎜3. 둘의 차이점🎜🎜둘의 차이점은 주로 다음과 같은 측면에서 나타납니다.🎜
  • 작성 양식
  • 등록 양식
  • 사용 시나리오

작성 양식

🎜작성 구성 요소 🎜🎜컴포넌트를 작성하는 방법에는 여러 가지가 있습니다. 가장 일반적인 방법은 vue 단일 파일의 형식입니다. 각 .vue 파일을 A로 간주할 수 있습니다. 컴포넌트🎜🎜vue 파일 표준 형식🎜rrreee🎜template 속성을 ​​통해 컴포넌트를 작성할 수도 있습니다. 컴포넌트에 내용이 많으면 를 정의할 수 있습니다. 외부 템플릿 구성 요소 콘텐츠, 구성 요소 콘텐츠가 많지 않은 경우 템플릿 속성🎜rrreee🎜플러그인 작성🎜🎜vue플러그인 구현은 install 메소드를 노출해야 합니다. 이 메소드의 첫 번째 매개변수는 Vue 생성자이고, 두 번째 매개변수는 선택적 옵션 객체🎜rrreee

등록 양식

🎜구성요소입니다. Registration🎜🎜vue컴포넌트 등록은 크게 글로벌 등록과 로컬 등록으로 나누어진다🎜🎜Vue.comComponent 메소드를 통한 글로벌 등록, 첫 번째 인자는 이름 컴포넌트의 두 번째 매개변수는 들어오는 구성 항목입니다🎜rrreee🎜부분 등록은 해당 컴포넌트가 사용되는 컴포넌트 속성을 ​​통해서만 컴포넌트를 등록하면 됩니다🎜rrreee🎜플러그인 등록 Strong >🎜🎜플러그인 등록은 Vue.use()를 통해 이루어집니다. 첫 번째 매개변수는 플러그인 이름이고, 두 번째 매개변수는 선택적 구성 항목🎜rrreee🎜참고 중요한 것은: 🎜🎜플러그인 등록 시 new Vue()를 호출하여 애플리케이션을 시작하기 전에 완료해야 합니다🎜🎜Vue.use는 자동으로 방지합니다 동일한 플러그인을 여러 번 등록하면 한 번만 등록됩니다. 🎜

사용 시나리오

🎜자세한 내용은 플러그인이 무엇인지에 대한 장에서 이미 설명했습니다. summary🎜🎜Component (Component) App의 비즈니스 모듈을 구성하는 데 사용됩니다. 대상은 App.vue🎜🎜Plug-입니다. (플러그인)에서 기술 스택의 기능 모듈을 향상시키는 데 사용되며, 그 목표는 Vue 자체입니다🎜🎜간단히 말하면 플러그인은 향상 또는 보완을 의미합니다. Vue🎜🎜의 기능 중 [관련 권장 사항: "🎜vue.js Tutorial🎜"]🎜

위 내용은 vue의 플러그인과 구성 요소의 차이점은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.