목차
举一个栗子
1、Props方式
2、emit方式
3、v-model方式
4、refs方式
5、provide/inject方式
1. Props 방법
2. Emit 메서드
3. v-model 방법
4.refs 메소드
5. 제공/주입 방법
6. 이벤트 버스
이 기사는 여기서 끝납니다. 일반적으로 비교적 간단하고 복잡한 것이 없습니다.
헤드라인 유용한 정보 공유: Vue3 구성 요소와 통신하는 7가지 방법!

유용한 정보 공유: Vue3 구성 요소와 통신하는 7가지 방법!

Feb 16, 2022 am 10:20 AM
vue3 컴포넌트 통신

Component는 Vue의 핵심 기능이며 재사용 가능한 Vue 인스턴스이지만 구성 요소 인스턴스의 범위는 서로 독립적입니다. 즉, 서로 다른 구성 요소 간의 데이터가 서로 직접 참조할 수 없습니다. 그렇다면 구성 요소 간에 데이터를 연결하는 방법은 무엇입니까? 데이터를 통신하고 전송하는 방법은 무엇입니까? 다음 기사에서는 7가지 구성요소 통신 방법을 공유하겠습니다. 도움이 되기를 바랍니다.

유용한 정보 공유: Vue3 구성 요소와 통신하는 7가지 방법!

이 글에서는 <script setup></script>의 결합 API 작성 방법을 채택했습니다. 옵션 유형에 비해 결합 API 작성 방법이 무료이므로 더 편리합니다. 자세한 내용은 Vue 문서는 두 가지 방법을 설명합니다. <script setup></script>这种组合式API写法,相对于选项式来说,组合式API这种写法更加自由,具体可以参考Vue文档对两种方式的描述。

注:php中文网线上班也开始教授最新版本的vue课程了,感兴趣的朋友可以了解学习。

本篇文章将介绍如下七种组件通信方式:

  • props
  • emit
  • v-model
  • refs
  • provide/inject
  • eventBus
  • vuex/pinia(状态管理工具)

开始搞事情~

举一个栗子

俗话说的好,学习不写demo,那就是耍流氓~

本篇文章将围绕下面这个demo,如下图所示:

유용한 정보 공유: Vue3 구성 요소와 통신하는 7가지 방법!

上图中,列表输入框分别是父子组件,根据不同传值方式,可能谁是父组件谁是子组件会有所调整。

1、Props方式

Props方式是Vue中最常见的一种父传子的一种方式,使用也比较简单。【相关推荐:vue.js视频教程

根据上面的demo,我们将数据以及对数据的操作定义在父组件,子组件仅做列表的一个渲染;

父组件代码如下:

<template>
  <!-- 子组件 -->
  <child-components :list="list"></child-components>
  <!-- 父组件 -->
  <div class="child-wrap input-group">
    <input
      v-model="value"
      type="text"
      class="form-control"
      placeholder="请输入"
    />
    <div class="input-group-append">
      <button @click="handleAdd" class="btn btn-primary" type="button">
        添加
      </button>
    </div>
  </div>
</template>
<script setup>
import { ref } from &#39;vue&#39;
import ChildComponents from &#39;./child.vue&#39;
const list = ref([&#39;JavaScript&#39;, &#39;HTML&#39;, &#39;CSS&#39;])
const value = ref(&#39;&#39;)
// add 触发后的事件处理函数
const handleAdd = () => {
  list.value.push(value.value)
  value.value = &#39;&#39;
}
</script>
로그인 후 복사

子组件只需要对父组件传递的值进行渲染即可,代码如下:

<template>
  <ul class="parent list-group">
    <li class="list-group-item" v-for="i in props.list" :key="i">{{ i }}</li>
  </ul>
</template>
<script setup>
import { defineProps } from &#39;vue&#39;
const props = defineProps({
  list: {
    type: Array,
    default: () => [],
  },
})
</script>
로그인 후 복사

2、emit方式

emit方式也是Vue中最常见的组件通信方式,该方式用于子传父

根据上面的demo,我们将列表定义在父组件,子组件只需要传递添加的值即可。

子组件代码如下:

<template>
  <div class="child-wrap input-group">
    <input
      v-model="value"
      type="text"
      class="form-control"
      placeholder="请输入"
    />
    <div class="input-group-append">
      <button @click="handleSubmit" class="btn btn-primary" type="button">
        添加
      </button>
    </div>
  </div>
</template>
<script setup>
import { ref, defineEmits } from &#39;vue&#39;
const value = ref(&#39;&#39;)
const emits = defineEmits([&#39;add&#39;])
const handleSubmit = () => {
  emits(&#39;add&#39;, value.value)
  value.value = &#39;&#39;
}
</script>
로그인 후 복사

在子组件中点击【添加】按钮后,emit一个自定义事件,并将添加的值作为参数传递。

父组件代码如下:

<template>
  <!-- 父组件 -->
  <ul class="parent list-group">
    <li class="list-group-item" v-for="i in list" :key="i">{{ i }}</li>
  </ul>
  <!-- 子组件 -->
  <child-components @add="handleAdd"></child-components>
</template>
<script setup>
import { ref } from &#39;vue&#39;
import ChildComponents from &#39;./child.vue&#39;
const list = ref([&#39;JavaScript&#39;, &#39;HTML&#39;, &#39;CSS&#39;])
// add 触发后的事件处理函数
const handleAdd = value => {
  list.value.push(value)
}
</script>
로그인 후 복사

在父组件中只需要监听子组件自定义的事件,然后执行对应的添加操作。

3、v-model方式

v-model是Vue中一个比较出色的语法糖,就比如下面这段代码

<ChildComponent v-model:title="pageTitle" />
로그인 후 복사

就是下面这段代码的简写形势

<ChildComponent :title="pageTitle" @update:title="pageTitle = $event" />
로그인 후 복사

v-model确实简便了不少,现在我们就来看一下上面那个demo,如何用v-model实现。

子组件

<template>
  <div class="child-wrap input-group">
    <input
      v-model="value"
      type="text"
      class="form-control"
      placeholder="请输入"
    />
    <div class="input-group-append">
      <button @click="handleAdd" class="btn btn-primary" type="button">
        添加
      </button>
    </div>
  </div>
</template>
<script setup>
import { ref, defineEmits, defineProps } from &#39;vue&#39;
const value = ref(&#39;&#39;)
const props = defineProps({
  list: {
    type: Array,
    default: () => [],
  },
})
const emits = defineEmits([&#39;update:list&#39;])
// 添加操作
const handleAdd = () => {
  const arr = props.list
  arr.push(value.value)
  emits(&#39;update:list&#39;, arr)
  value.value = &#39;&#39;
}
</script>
로그인 후 복사

在子组件中我们首先定义propsemits,然后添加完成之后emit指定事件。

注:update:*是Vue中的固定写法,*表示props中的某个属性名。

父组件中使用就比较简单,代码如下:

<template>
  <!-- 父组件 -->
  <ul class="parent list-group">
    <li class="list-group-item" v-for="i in list" :key="i">{{ i }}</li>
  </ul>
  <!-- 子组件 -->
  <child-components v-model:list="list"></child-components>
</template>
<script setup>
import { ref } from &#39;vue&#39;
import ChildComponents from &#39;./child.vue&#39;
const list = ref([&#39;JavaScript&#39;, &#39;HTML&#39;, &#39;CSS&#39;])
</script>
로그인 후 복사

4、refs方式

在使用选项式API时,我们可以通过this.$refs.name的方式获取指定元素或者组件,但是组合式API中就无法使用哪种方式获取。如果我们想要通过ref的方式获取组件或者元素,需要定义一个同名的Ref对象,在组件挂载后就可以访问了。

示例代码如下:

<template>
  <ul class="parent list-group">
    <li class="list-group-item" v-for="i in childRefs?.list" :key="i">
      {{ i }}
    </li>
  </ul>
  <!-- 子组件 ref的值与<script>中的保持一致 -->
  <child-components ref="childRefs"></child-components>
  <!-- 父组件 -->
</template>
<script setup>
import { ref } from &#39;vue&#39;
import ChildComponents from &#39;./child.vue&#39;
const childRefs = ref(null)
</script>
로그인 후 복사

子组件代码如下:

<template>
  <div class="child-wrap input-group">
    <input
      v-model="value"
      type="text"
      class="form-control"
      placeholder="请输入"
    />
    <div class="input-group-append">
      <button @click="handleAdd" class="btn btn-primary" type="button">
        添加
      </button>
    </div>
  </div>
</template>
<script setup>
import { ref, defineExpose } from &#39;vue&#39;
const list = ref([&#39;JavaScript&#39;, &#39;HTML&#39;, &#39;CSS&#39;])
const value = ref(&#39;&#39;)
// add 触发后的事件处理函数
const handleAdd = () => {
  list.value.push(value.value)
  value.value = &#39;&#39;
}
defineExpose({ list })
</script>
로그인 후 복사

setup组件默认是关闭的,也即通过模板ref获取到的组件的公开实例,不会暴露任何在**<script setup>中声明的绑定。如果需要公开需要通过****defineExpose**** API暴露**。

5、provide/inject方式

provideinject是Vue中提供的一对API,该API可以实现父组件向子组件传递数据,无论层级有多深,都可以通过这对API实现。示例代码如下所示:

父组件

<template>
  <!-- 子组件 -->
  <child-components></child-components>
  <!-- 父组件 -->
  <div class="child-wrap input-group">
    <input
      v-model="value"
      type="text"
      class="form-control"
      placeholder="请输入"
    />
    <div class="input-group-append">
      <button @click="handleAdd" class="btn btn-primary" type="button">
        添加
      </button>
    </div>
  </div>
</template>
<script setup>
import { ref, provide } from &#39;vue&#39;
import ChildComponents from &#39;./child.vue&#39;
const list = ref([&#39;JavaScript&#39;, &#39;HTML&#39;, &#39;CSS&#39;])
const value = ref(&#39;&#39;)
// 向子组件提供数据
provide(&#39;list&#39;, list.value)
// add 触发后的事件处理函数
const handleAdd = () => {
  list.value.push(value.value)
  value.value = &#39;&#39;
}
</script>
로그인 후 복사

子组件

<template>
  <ul class="parent list-group">
    <li class="list-group-item" v-for="i in list" :key="i">{{ i }}</li>
  </ul>
</template>
<script setup>
import { inject } from &#39;vue&#39;
// 接受父组件提供的数据
const list = inject(&#39;list&#39;)
</script>
로그인 후 복사

值得注意的是使用provide进行数据传递时,尽量readonly

참고: php 중국어 온라인 작업도 최신 버전의 vue 과정을 가르치기 시작했습니다. 관심있는 친구들은 더 많은 것을 배울 수 있습니다.

🎜이 글에서는 다음과 같은 7가지 구성요소 통신 방법을 소개합니다: 🎜
  • props
  • emit
  • v-model
  • refs
  • 제공/주입
  • eventBus
  • vuex/pinia(상태 관리 도구)
🎜일을 시작하세요~🎜밤을 주세요🎜배우면서 데모를 안쓰면 훌리건이라는 말이 있죠~🎜🎜이 글에서는 다음에 중점을 둘 것입니다 아래 그림과 같은 데모:🎜 🎜 유용한 정보 공유: Vue3 구성 요소와 통신하는 7가지 방법!🎜🎜위 그림, ListInput Box는 각각 상위 구성 요소와 하위 구성 요소입니다. 값 전송 방법에 따라 누가 상위 구성 요소이고 누가 상위 구성 요소인지, 하위 구성 요소가 누구인지 조정될 수 있습니다. 🎜

1. Props 방법

🎜Props 방법은 Vue에서 아버지에서 아들에게 전달🎜하는 가장 일반적인 방법입니다. 사용도 비교적 간단합니다. [관련 권장사항: vue.js 동영상 튜토리얼] 🎜🎜위 데모에 따르면 , 상위 구성 요소의 데이터에 대한 데이터 및 작업을 정의하고 하위 구성 요소는 목록만 렌더링합니다. 🎜🎜상위 구성 요소 코드는 다음과 같습니다. 🎜rrreee🎜 하위 구성 요소는 상위 구성 요소가 전달한 값만 렌더링하면 됩니다. 🎜rrreee

2. Emit 메서드

🎜emit 메서드도 Vue에서 가장 일반적인 컴포넌트 통신 방법입니다. . 이 방법은 sub-Pass to parent🎜에 사용됩니다.🎜🎜위 데모에 따르면 상위 구성 요소에 목록을 정의하고 하위 구성 요소는 추가된 값만 전달하면 됩니다. 🎜🎜하위 컴포넌트 코드는 다음과 같습니다. 🎜rrreee🎜하위 컴포넌트에서 [추가] 버튼을 클릭한 후 커스텀 이벤트를 emit하고 추가된 값을 파라미터로 전달합니다. 🎜🎜상위 컴포넌트의 코드는 다음과 같습니다. 🎜rrreee🎜상위 컴포넌트에서는 하위 컴포넌트의 사용자 정의 이벤트만 수신한 후 해당 추가 작업을 수행하면 됩니다. 🎜

3. v-model 방법

🎜v-model은 다음 코드와 같이 Vue의 훌륭한 구문 설탕입니다 🎜rrreee🎜 아래 코드의 약어입니다🎜rrreee🎜v-model는 실제로 훨씬 간단합니다. 이제 위의 데모와 이를 구현하기 위해 v-model을 사용하는 방법을 살펴보겠습니다. 🎜🎜하위 구성 요소🎜rrreee🎜하위 구성 요소에서는 먼저 propsemis를 정의한 다음 emit 지정된 이벤트를 추가합니다. 🎜
🎜참고: update:*는 Vue에서 고정된 쓰기 방법이고 *props의 속성 이름을 나타냅니다. 🎜
🎜상위 컴포넌트에서 사용하는 방법은 비교적 간단합니다. 🎜rrreee

4.refs 메소드

🎜옵션을 사용하는 경우 API에서는 지정된 요소나 구성 요소를 가져오는 데 사용되는 this.$refs.name을 전달할 수 있지만 이 메서드는 결합된 API에서 사용할 수 없습니다. ref를 통해 구성 요소나 요소를 얻으려면 구성 요소가 마운트된 후 액세스할 수 있는 동일한 이름의 Ref 객체를 정의해야 합니다. 🎜🎜샘플 코드는 다음과 같습니다. 🎜rrreee🎜하위 구성 요소 코드는 다음과 같습니다. 🎜rrreee🎜setup 구성 요소는 기본적으로 닫혀 있습니다. 즉, 를 통해 얻은 구성 요소의 공용 인스턴스입니다. ref 템플릿은🎜**<script setup></script>에서 선언된 바인딩 🎜을 노출하지 않습니다. 🎜노출이 필요한 경우 ****defineExpose**** API**를 통해 노출해야 합니다. 🎜

5. 제공/주입 방법

🎜provideinject는 Vue에서 제공하는 API 쌍입니다. 이 API를 사용하면 상위 구성 요소가 하위 구성 요소에 데이터를 전달할 수 있으며, 수준이 아무리 깊어도 이 API 쌍을 통해 구현할 수 있습니다. 샘플 코드는 다음과 같습니다. 🎜🎜상위 구성 요소🎜rrreee🎜하위 구성 요소🎜rrreee🎜데이터 전송을 위해 provide를 사용할 때 읽기 전용을 시도한다는 점에 유의할 가치가 있습니다. > 데이터 전송 패키징을 위해 하위 구성 요소가 상위 구성 요소에 의해 전달된 데이터를 수정하는 것을 방지합니다🎜. 🎜

6. 이벤트 버스

이벤트 버스는 Vue3에서 제거되었지만 타사 도구를 사용하여 수행할 수 있습니다. Vue는 공식적으로 mitt 또는 tiny-emitter를 권장하지 않습니다. 대부분의 경우 버스 방식은 컴포넌트 통신을 구현하기에는 상대적으로 간단하고 조잡하지만 이벤트 버스를 유지하는 것은 장기적으로 큰 문제이므로 여기서는 자세한 내용을 설명하지 않겠습니다. tool

7. 상태 관리 도구

Vuex

Pinia는 Vue3의 상태 관리 도구입니다. 이 두 도구는 상대적으로 강력하므로 여기에는 표시하지 않습니다. 자세한 내용은 문서를 확인하세요 마지막에 작성되었습니다

이 기사는 여기서 끝납니다. 일반적으로 비교적 간단하고 복잡한 것이 없습니다.

이 글이 도움이 되셨다면 좋아요와 댓글, 저장해 주시고 필요할 때 찾지 못하게 해주세요.

글 내용에 오류가 있으면 정정해주세요~

원본 주소 : https://juejin.cn/post/7062740057018335245

저자 : Yiwan Zhou

(학습 영상 공유 :
웹 프론트- 튜토리얼 종료

)

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

vue3+vite: src에서 이미지를 동적으로 가져오기 위해 require를 사용할 때 오류를 해결하는 방법 vue3+vite: src에서 이미지를 동적으로 가져오기 위해 require를 사용할 때 오류를 해결하는 방법 May 21, 2023 pm 03:16 PM

vue3+vite:src는 require를 사용하여 이미지를 동적으로 가져오고 vue3+vite는 여러 이미지를 동적으로 가져옵니다. vue3을 사용하는 경우 require는 이미지를 사용할 수 없습니다. imgUrl:require(' .../assets/test.png') 와 같은 vue2는 typescript가 require를 지원하지 않기 때문에 가져오므로 이를 해결하는 방법은 다음과 같습니다. waitimport를 사용합니다.

vue3 프로젝트에서tinymce를 사용하는 방법 vue3 프로젝트에서tinymce를 사용하는 방법 May 19, 2023 pm 08:40 PM

tinymce는 완전한 기능을 갖춘 리치 텍스트 편집기 플러그인이지만,tinymce를 vue에 도입하는 것은 다른 Vue 리치 텍스트 플러그인만큼 원활하지 않습니다.tinymce 자체는 Vue에 적합하지 않으며 @tinymce/tinymce-vue를 도입해야 합니다. 외국 서식 있는 텍스트 플러그인이며 중국어 버전을 통과하지 못했습니다. 공식 웹사이트에서 번역 패키지를 다운로드해야 합니다(방화벽을 우회해야 할 수도 있음). 1. 관련 종속성을 설치합니다. npminstalltinymce-Snpminstall@tinymce/tinymce-vue-S2. 중국어 패키지를 다운로드합니다. 3. 프로젝트 공용 폴더에 스킨과 중국어 패키지를 새로 만들고 다운로드합니다.

Vue3에서 페이지의 일부 콘텐츠를 새로 고치는 방법 Vue3에서 페이지의 일부 콘텐츠를 새로 고치는 방법 May 26, 2023 pm 05:31 PM

페이지를 부분적으로 새로 고치려면 로컬 구성 요소(dom)의 다시 렌더링만 구현하면 됩니다. Vue에서 이 효과를 얻는 가장 쉬운 방법은 v-if 지시어를 사용하는 것입니다. Vue2에서는 v-if 명령을 사용하여 로컬 DOM을 다시 렌더링하는 것 외에도 새 빈 구성 요소를 만들 수도 있습니다. 로컬 페이지를 새로 고쳐야 할 경우 이 빈 구성 요소 페이지로 점프한 다음 다시 돌아올 수 있습니다. 빈 원본 페이지의 beforeRouteEnter 가드. 아래 그림과 같이 Vue3.X에서 새로 고침 버튼을 클릭하여 빨간색 상자 안에 DOM을 다시 로드하고 해당 로딩 상태를 표시하는 방법입니다. Vue3.X의 scriptsetup 구문에 있는 구성 요소의 가드에는

Vue3가 마크다운을 구문 분석하고 코드 강조 표시를 구현하는 방법 Vue3가 마크다운을 구문 분석하고 코드 강조 표시를 구현하는 방법 May 20, 2023 pm 04:16 PM

Vue로 블로그 프론트엔드를 구현하려면 마크다운 파싱을 구현해야 합니다. 코드가 있는 경우 코드 하이라이팅을 구현해야 합니다. markdown-it, vue-markdown-loader,marked,vue-markdown 등과 같은 Vue용 마크다운 구문 분석 라이브러리가 많이 있습니다. 이 라이브러리는 모두 매우 유사합니다. 여기서는 Marked가 사용되었고, 코드 하이라이팅 라이브러리로 하이라이트.js가 사용되었습니다. 구체적인 구현 단계는 다음과 같습니다. 1. 종속 라이브러리를 설치합니다. vue 프로젝트에서 명령 창을 열고 다음 명령 npminstallmarked-save//marked를 입력하여 markdown을 htmlnpmins로 변환합니다.

Vue3에서 아바타를 선택하고 자르는 방법 Vue3에서 아바타를 선택하고 자르는 방법 May 29, 2023 am 10:22 AM

최종 효과는 VueCropper 컴포넌트 Yarnaddvue-cropper@next를 설치하는 것입니다. 위의 설치 값은 Vue2이거나 다른 방법을 사용하여 참조하려는 경우 공식 npm 주소: 공식 튜토리얼을 방문하세요. 컴포넌트에서 참조하고 사용하는 것도 매우 간단합니다. 여기서는 해당 컴포넌트와 해당 스타일 파일을 소개하기만 하면 됩니다. 여기서는 import{userInfoByRequest}from'../js/api만 소개하면 됩니다. 내 구성 요소 파일에서 import{VueCropper}from'vue-cropper&

Vue3 재사용 가능한 구성 요소를 사용하는 방법 Vue3 재사용 가능한 구성 요소를 사용하는 방법 May 20, 2023 pm 07:25 PM

머리말 Vue든 React든, 여러 개의 반복되는 코드를 접하게 되면, 파일을 중복된 코드 덩어리로 채우는 대신, 이러한 코드를 어떻게 재사용할 수 있을지 고민해 보겠습니다. 실제로 vue와 React 모두 컴포넌트를 추출하여 재사용할 수 있지만, 작은 코드 조각이 발견되어 다른 파일을 추출하고 싶지 않은 경우, 이에 비해 React는 동일한에서 사용할 수 있습니다. 파일에서 해당 위젯을 선언합니다. 또는 다음과 같은 renderfunction을 통해 구현합니다. constDemo:FC=({msg})=>{returndemomsgis{msg}}constApp:FC=()=>{return(

vue3+ts+axios+pinia를 사용하여 무의미한 새로 고침을 달성하는 방법 vue3+ts+axios+pinia를 사용하여 무의미한 새로 고침을 달성하는 방법 May 25, 2023 pm 03:37 PM

vue3+ts+axios+pinia는 무의미한 새로 고침을 실현합니다. 1. 먼저 프로젝트에서 aiXos 및 pinianpmipinia를 다운로드합니다--savenpminstallaxios--save2. AxiosResponse}from"axios";importaxiosfrom'axios';import{ElMess

DefineCustomElement를 사용하여 Vue3에서 구성 요소를 정의하는 방법 DefineCustomElement를 사용하여 Vue3에서 구성 요소를 정의하는 방법 May 28, 2023 am 11:29 AM

Vue를 사용하여 사용자 정의 요소 구축 WebComponents는 개발자가 재사용 가능한 사용자 정의 요소(customelements)를 생성할 수 있는 웹 네이티브 API 세트의 집합적 이름입니다. 사용자 정의 요소의 주요 이점은 프레임워크 없이도 어떤 프레임워크에서도 사용할 수 있다는 것입니다. 다른 프런트 엔드 기술 스택을 사용하는 최종 사용자를 대상으로 하거나 사용하는 구성 요소의 구현 세부 사항에서 최종 애플리케이션을 분리하려는 경우에 이상적입니다. Vue와 WebComponents는 보완적인 기술이며 Vue는 사용자 정의 요소를 사용하고 생성하는 데 탁월한 지원을 제공합니다. 사용자 정의 요소를 기존 Vue 애플리케이션에 통합하거나 Vue를 사용하여 빌드할 수 있습니다.