클래스 바인딩
''
로 묶어주어야 함v-model
... 양방향 데이터 바인딩스타일 바인딩
:style="`color: ${color};`" ... 템플릿 리터럴 스타일
:style="{ color }" ... 인라인 스타일 (템플릿 리터럴보다 더 간단함
color: color
-> color
[data1, tata2]
배열을 활용한다.v-if
, v-else-if
, v-else
디렉티브를 형제 요소로 부여하여 사용할 수 있다. (단, v-if 와 v-else(else-if) 사이에는 어떠한 요소도 없어야 함)<template>
등을 활용하면 좋음 ... <div>
도 사용하지만, div 를 출력하고 싶지 않을 때 (template 는 직접 출력되지 않고 내부만 출력됨)v-show
... display: none;
스타일을 추가 / 제거함v-clock
디렉티브와 함께 사용해서 이를 방지하는 것이 좋음v-if
... lazy (값이 false 이면 해당하는 요소를 구조적으로 생성하지 않음 / 렌더링 하지 않음, 참인 값이 할당되면 그때 출력v-if
를 통한 렌더 제어 방식은 해당 요소를 주석으로 처리하여 요소의 구조를 사라지게 하는 차이가 있음.v-for
를 사용한 엘리먼트에는 절대 v-if
를 사용하지 않도록 함.<template>
태그를 상위에 만들어 여기에 v-for
을 생성하고, 내부에 태그를 생성한 후 이곳에 v-if
를 사용하도록 한다.v-for
을 통해 해당하는 요소를 반복할수 있는 데이터로 출력 할 수 있다.v-for
는 (item, index) in items
와 같이 두번째 인자로 index를 넘겨줄 수 있다.:key
를 부여하여 고유한 값을 넣어주어야 한다. (요소가 고유함을 증명하여 식별하게 함)<template>
... 여러 개의 요소를 블럭 단위로 한번에 v-for
에서 렌더링 할 수 있다.<form>
요소에서 @submit 이 동작하면 기본적으로 새로고침 됨 ... 페이지가 새로고쳐지는 기본 동작을 방지해야 함v-on
... @
기호를 통해 DOM 이벤트를 듣고, 실행한다..stop
: 클릭 이벤트 전파 중단 / 이벤트 버블링의 전파 중단.prevent
: 이벤트가 페이지를 다시 로드하지 않게 하는 등 기본 동작 방지.once
: 이벤트에 연결된 동작을 한번만 실행.capture
: 해당하는 이벤트에 가장 높은 우선순위를 부여하여 먼저 실행되도록 함..self
: event.target이 엘리먼트 자체인 경우에만 트리거를 처리.passive
: 이벤트를 통해 동작하는 메소드와 화면의 렌더링을 분리하여 처리.meta
: Window 에서의 window 키, Mac 에서의 command 키 / @keyup
에서는 동작하지 않음 (@keydown
과 사용).exact
: 키 이벤트에 연결되어있는 해당 수식어만을 청취 (다른 키와 함께 누르면 청취되지 않고, 오직 해당 키 하나만을 눌러야 함) ... 키 / 마우스 이벤트 모두에 사용 가능vue에 클래스, 렌더링, 이벤트에 관련된 부분들을 배우게 되었다.
확실히 왜 프레임워크가 필요한지에 대해 조금씩 알아가고 있는 것 같다. 바닐라 js 로 구현할 때보다 훨씬 더 간결하고 유지보수적인 측면에서도 큰 이점이 있는 것을 느꼈고 즉각적인 반응형에 최적화 되어 있는 점이 가장 큰 메리트가 되는 것 같다.