[Vue.js] Vue.js 중급 - (2)

jihye_son·2022년 3월 30일
0

Vue.js

목록 보기
17/24
<span *v-bind*:*class*="{textCompleted: *todoItem.*completed}">{{*todoItem.*item}}</span>

위와 같이
v-bind 동적으로 할 수 있게 하는데

todoItem.completed 가 true 면 textCompleted고 flase 면 사라짐
v-bind로 동적으로 값에 따라서 클래스를 추가하거나 뺄 수 있는 것임

로컬스토리지에 있는 데이터를 모두 지우는 api

localStorage.clear();

데이터를 조작하는 부분을 container 라고 한다.
즉 App 부분이 컨테이너고
하위컴포넌트들은 표현단인 presenter 컴포넌트라고 보면된다.

v-bind, v-on, this.$emit 사용법

v-bind: 내려보낼 프롭스 속성이름 ="현재 위치의 컴포넌트 데이터 속성"
v-on : 하위 컴폰너트에서 발생시킨 이벤트 이름 = "현재 컴포넌트의 메서드명"
this.$emit('이벤트이름' : 인자1, 인자2,,, );

안티 패턴이란
습관적으로 많이 사용한느 패턴이지만 성능, 디버깅, 유지보수, 가독성 측면에서
부정적인 영향을 줄 수 있어 지양하는 패턴이다

todoItem.completed = !todoItem.completed;
this.todoItems[index].completed =!this.todoItems[index].completed;

윗줄과 아랫줄은 똑같은 코드이다.
컴포넌트간의 요소를 더 명확히 하기 위해서 밑줄처럼 코딩함

하위 컴포넌트들은 프레젠트 컴포넌트 ( 보여주기 용 ) 으로 사용하고

상위 컴포넌트하나에서 모아서 (컨테이너 컴포넌트)데이터처리등을 한번에 하는것이 좋다.(리액트 방식이긴 함)

하위-> 보여주기
상위-> 데이터처리

vue 는
트렌지션, 애니메이션 등을 vue 공식 라이브러리에서 제공을 해줘서 리액트보다 장점이 있음

템플릿을 모듈화 하려면 x-template 라는 것을 사용할 수 있다.

다른 컴포넌트들이 공동으로 사용하는 것들은 components 파일 안에 common 파일 안에다가 넣어서 관리해 주는 것이 좋다.

slot

특정 컴포넌트의 일부 ui 들을 재사용할 수 있게 하는 기능
slot을 정의한 부분에서 뭐라고 써놓든, slot 을 상위 컴포넌트에서 재정의해서 쓸 수 있다.

v-on:click=”” 을 축약하면 @click=””

트렌지션을 사용할 떄

v-enter-to , v-leave 가 함께 잘 쓰이고
v-enter , v-leave-to 가 함께 쓰인다.

ES6의 여러가지 문법중 Vue.js 코딩을 간편하게 해주는 문법학습
const & let,
Arrow Function,
Enhanced Object Literals,
Modules 학습

EX6 란

이전의 자바스크립트와 문법이 많이 다른 최신 자바스크립트 문법이라고 할 수 있다.
BABEL 이라는 사이트에서 보면 알 수 있는데 다 쓰진 않을거고
최대한 간결하게 빠르게 코딩하는 법을 배울 수 있다.
빠르게 프로토타입, 재개발 편하게 코딩할 수 있음

ECMAScript 2015와 동일한 용어
2015년은 ES5(2009년) 이래로 진행한 첫 메이저 업데이트가 승인된 해
최신 Front-End Framework React, Angular, Vue에서 권고하는 언어 형식
(( Vue 가 나머지두개에 비해 ES6를 바로 알지 않아도 프레임워크에 대해 빨리 학습할 수 있다는 장점이있다. ))
ES5에 비해 문법이 간결해져서 익숙해지면 코딩을 훨씬 편하게 할 수 있음

구 버전 브라우저 중에서는 ES6의 기능을 지원하지 않는 브라우저가 있으므로 transpiling이 필요

Babel 이란

ES6의 문법을 각 브라우저 호환 가능한 ES5로 변환하는 컴파일러다.

profile
뽀짝뽀짝 나는야 FE 개발자

0개의 댓글