Frontory

코드 편집 · 실습 · 필기 열기 →

Vue · 07 클래스와 스타일의 상태 표현

시리즈 목차 · 전체 기술 지도

단계: 반응형 데이터와 템플릿 · 편집 가능한 예제 · 저장 ID: vue-step-07

목표와 학습 후 역량

선수 지식

7단위는 6단위 결과물과 실험 기록을 이어 사용합니다.

핵심 개념과 설명

선언적 스타일

class와 style 바인딩은 상태에서 표시를 계산합니다. DOM 클래스를 직접 수정하면 다음 렌더 결과와 충돌할 수 있습니다.

의미 전달

색상만으로 완료를 표시하면 의미를 놓칠 수 있습니다. 텍스트와 aria 속성도 같은 상태에서 계산합니다.

실습 준비

예제 화면의 실행 범위 안내를 먼저 확인하세요. 다음은 과제를 별도 프로젝트로 확장할 때의 준비 환경입니다. 별도 Vue Vite 프로젝트에서 .vue SFC와 script setup을 사용합니다. 패키지 버전과 lockfile을 기록하고 개발 서버에서 실행하세요. 내장 Vue 예제는 h 함수 기반이며 범용 SFC 컴파일러가 아닙니다.

연결된 예제는 출발점입니다. 아래 과제 전체가 완성된 코드는 아니며, 예제의 지원 범위를 넘는 작업은 별도 프로젝트에서 수행하세요.

실습 과제

  1. src/Card.vue에서 :class에 done과 selected 조건을 전달하세요.
  2. 완료 텍스트와 aria-pressed를 연결하고 scoped CSS로 두 상태를 구분하세요.
  3. 완료·선택의 네 조합을 만들어 스크린샷과 DOM 값을 적으세요.

관찰할 변수

변수기준 조건바꿀 조건예상할 변화·검증 가설
상태 조합완료 false·선택 false완료 true·선택 true두 상태가 충돌하지 않고 각각 표현된다.

표의 예상은 측정 결과가 아닙니다. 한 번에 한 조건만 바꾸고 실제 결과가 다르면 원인을 기록하세요.

완료 조건

자가 점검

  1. scoped CSS는 전역 스타일을 완전히 차단하나요?
  2. 클래스 직접 수정과 바인딩을 섞으면 누가 최종 값을 정하나요?

공식 참고

연결된 예제와 실행 범위

예제 원본 · 실행 환경과 제한

실제 Vue 반응성과 render 함수 실험입니다. SFC 템플릿은 외부 컴파일 환경에서 확인합니다.

원본 코드·기록은 자동으로 덮어쓰지 않습니다. 기존 예제를 초기화할 때도 필기는 유지됩니다.

다음 학습

이전: 이벤트와 입력 변환 · 다음: props의 단방향 계약

실험 기록 — 직접 작성

목표

핵심 개념

바꾼 변수와 예상

실제 결과

배운 점

남은 질문

코드 편집 · 실습 · 필기 열기 →