일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- State
- 자바스크립트
- TypeScript
- Vue transition
- ES6
- scss
- react
- Vue.js
- sass
- storybook
- mapGetters
- JavaScript
- jsx
- vuex
- v-html
- express
- 리액트
- event
- webpack
- 쉬운설명
- Vue
- nodejs
- 댓글달기
- App.vue
- MySQL
- input
- HOC
- 자료구조
- Wecode
- CSS
- Today
- Total
익명의 개발노트
Vue.JS 특징 본문
1. 서로 다른 컴포넌트끼리 값 직접 참조할 수 없다.
2. 컴포넌트 안에서 Vue인스턴스가 상위 컴포넌트가 된다.
3. 상위컴포넌트에서 하위컴포넌트로 데이터 전달시 props로 전달 가능하며, 하위에서 상위로 데이터 전달시 이벤트 버스를 사용한다.
4. 이벤트를 발생시키는 쪽에서는 $emit('이벤트명') , 받는쪽은 v-on:으로 수신한다.
5. 같은 레벨의 컴포넌트간의 통신은 아래 그림과 같다.(부모보냈다가 부모에서 값 받아야함)
관계없는 컴포넌트 간 통신은 통상 이벤트버스를 이용해서 통신한다.
6. template 특성
1) template 대신 render 함수로 구현해도 됨.
2) 싱글 파일 컴포넌트 체계 => .vue 파일 1개는 1개의 컴포넌트와 동일
7. 데이터 바인딩 방식
1) v-once : 데이터가 변경되어도 값이 변경되지 않게 하고 싶을 때.
2) v-bind : 아이디, 클래스, 스타일 등 html 속성값에 뷰데이터 값 연결할때 사용
3) {{}} 콧수염괄호 : 일반적으로 텍스트 바인딩 해서 쓸수도 있고, 자바스크립트 함수 넣어서 사용할 수 도있음.
8. 자바스크립트 표현식 사용시 주의할점
1) template 부분에 선언문, 분기문 사용불가. 다만 삼항연산자는 사용가능
2) 복잡한 연산은 인스턴스 안에서 수행하고 template내부 {{}}에서 사용하지 않음.
결과값만 받아서 넣는식으로 함. computed 속성사용 => 값을 미리 캐싱하고 가지고 있기때문에 methods속성보다 이걸 쓴다.
9. 디렉티브
1) html 태그엔에 v- 접두사를 가지는 모든 속성.
10. watch 속성, 데이터 변화를 감지하여 자동으로 특정 로직 수행, 데이터 호출과 같이시간이 상대적으로
더 많이 소모되는 비동기 처리에 적합.
11. 뷰에서 데이터 가져오는 부분은 axios를 주로 사용한다. 뷰 리소스가 이전에는 공식API였지만.. 사실상 안쓰는 추세..
12. 라우터에서 라우터된 부분을 보여주려면 템플릿 부분에 <router-view></router-view>를 사용한다.
네스티드 라우터(중첩)는 상위 컴포넌트 1개에 하위컴포넌트 1개를 포함하는 구조이다.
네스티드 라우터의 단점을 보완하기위해 나온 것이 네임드 뷰이다.
네임드 뷰는 페이지 이동했을때 여러개의 컴포넌트를 동시에 표시하는 라우팅 방식임.
'프로그래밍 > VueJS' 카테고리의 다른 글
Vue.js 설치 및 실행하기 (0) | 2019.08.27 |
---|---|
Vue.js 란?? (0) | 2019.08.26 |