Vue의 어셈블리 모드
5586 단어 Vue.js
이번에는 회사 내에서 자주 사용하는 Vue 구성 요소의 분할 모델에 대해 설명합니다.
마지막으로 책임과 의무를 총결하기 위해 구성 요소를 분리한다.
아래에 열거한 것은 그 책임과 의무의 한 기준을 고려해 주십시오.
나는 네가 구성 요소를 어떻게 분류하는지 판단하는 데 도움을 줄 수 있다면 좋겠다고 생각한다.
스타일 구성 요소
는 스타일을 제공하는 어셈블리입니다.
border
와color
등 외관 관련 요소.구성 요소 레이아웃
레이아웃의 구성 요소를 제공합니다.
flex
의 설정과margin
등 레이아웃과 관련된 요소.<!-- 以下に上げるclassはtailwindcssに準拠します -->
<template>
<div class="flex flex-col items-start">
<div class="w-full">
<slot name="header" />
</div>
<div class="w-full">
<slot name="content" />
</div>
</div>
</template>
기능 구성 요소는 기능을 제공하는 구성 요소입니다.
학생들로 하여금 동작과 통제와 관련된 요소를 갖추게 하다.
이것은 스크립트만 기술하면 완성되기 때문에 Vue3에서 Composition API를 사용하면 구성 요소를 만들 필요조차 없을 수 있습니다.
function useRequestButton(action: () => Promise<void>) {
const disabled = ref(false);
async function onClick() {
try {
disabled.value = true;
await action();
} finally {
disabled.value = false;
}
}
return {
disabled,
onClick,
};
}
단일 입력 구성 요소는 특정 프로젝트에 대해 특별히 제작된 입력 어셈블리입니다.
선택 목록의 입력 항목은 각 항목에 표시 이름, 순서 및 값 요소가 있으므로 임시 어셈블리로 잘라냅니다.
구성 요소 보기
간단한 디스플레이 처리를 하는 구성 요소
창 구성 요소 입력
입력 창의 구성 요소로
새 로그인, 화면 편집 등에 사용됩니다.
새로 등록하고 편집할 때 같은 항목을 요구하는 경우가 많기 때문에 기본적으로 모두 사용할 수 있다.
전환 구성 요소 표시
조건에 따라 어셈블리를 표시하는 어셈블리를 전환합니다.
예를 들어 참고 모드, 편집 모드와 전환을 실현하는 데 사용된다.
<template>
<ComponentA v-if="type==='a'" />
<ComponentB v-else-if="type==='b'" />
<ComponentC v-else-if="type==='c'" />
</template>
목록 항목 구성 요소v-for
에서 중복된 어셈블리입니다.탁자의 한 줄 등은 이것과 맞먹는다.
데이터가 많으면 구성 요소를 잘라내지 않으면 관리가 어려워집니다.
Organisms 구성 요소
나는 아토믹 디자인의 이름을 빌렸다.
어느 정도 통일된 구성 요소입니다.
화면 디자인에서 어느 정도 통일된 요소를 정리했다.
페이지 구성 요소
이것은 페이지의 주요 구성 요소입니다.
Router를 등록한 것은 이 구성 요소입니다.
마지막으로 모두 이곳에 집중할 것이다.
Reference
이 문제에 관하여(Vue의 어셈블리 모드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/keyhole0/items/a9a17e3ca1757c7e2c63텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)