Vue에서 Teleport를 사용하여 템플릿의 일부를 이동하는 방법
4475 단어 javascripttutorialvuewebdev
다행히 Vue에는
<Teleport>
라는 이 문제를 쉽게 해결할 수 있는 방법이 있습니다. <Teleport>
태그를 사용하면 구성 요소 내에서 무언가를 정의한 다음 코드에서 원하는 위치로 "텔레포트"할 수 있습니다. 어떻게 작동하는지 살펴보겠습니다.Vue에서 Teleport가 작동하는 방식
Vue에 모달을 포함하는
Modal.vue
라는 간단한 구성 요소가 있다고 가정합니다. 다음과 같이 보입니다.<script>
export default {
data() {
return {
display: false
}
}
}
</script>
<template>
<button id="show-modal" @click="display == true ? display = false : display = true">Show Modal</button>
<div class="modal" v-if="display">
My Modal
</div>
</template>
우리 구조에서 이 모달은 응용 프로그램 구조에서 상당히 깊숙이 위치합니다.
Modal.vue
는 우리 구조에서 너무 깊기 때문에 우리가 원하는 대로 나머지 콘텐츠 위에 표시되지 않을 수 있습니다. 따라서 body
태그의 직계 자식이 되는 것이 이상적입니다. <Teleport>
를 사용하여 다음과 같이 구성 요소를 조정하여 body
태그의 직계 자식이 되도록 "텔레포트"할 수 있습니다.<script>
export default {
data() {
return {
display: false
}
}
}
</script>
<template>
<button id="show-modal" @click="display == true ? display = false : display = true">Show Modal</button>
<Teleport to="body">
<div class="modal" v-if="display">
My Modal
</div>
</Teleport>
</template>
to
의 Teleport
속성은 유효한 CSS 선택자일 것으로 예상됩니다. 이제 우리의 .modal
div는 본문의 직계 하위로 텔레포트되므로 Vue 구조 내에 깊숙이 중첩되지 않고 항상 맨 위에 나타납니다.텔레포트 태그 비활성화
Teleport
속성을 사용하여 특정 로직을 기반으로 :disabled
태그를 비활성화할 수 있습니다. 예를 들어 다음 코드를 사용하여 myToggle
값이 true로 설정되었는지 확인할 수 있습니다.<Teleport :disabled="myToggle"></Teleport>
위에서
myToggle
가 true
로 설정되면 Teleport
가 작동하지 않습니다. 즉, 원할 때만 활성화할 수 있습니다. 따라서 Teleport
는 Vue에서 특정 콘텐츠를 표시하는 위치와 시점을 조정하는 데 매우 유용한 태그입니다. 동일한 Vue 템플릿 내에서 여러 개의 태그Teleport
를 사용해도 좋습니다.
Reference
이 문제에 관하여(Vue에서 Teleport를 사용하여 템플릿의 일부를 이동하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/smpnjn/how-to-use-teleport-in-vue-to-move-parts-of-templates-i6d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)