반응형
뷰(Vue.js)란?
- 2013년 구글의 개발장였던 에반 유(Evan You)에 의해 출시
- 인터렉티브 웹 인터페이스를 개발하기 위한 '프로그레시브 자바스크립트 프레임워크'
- 웹에서 UI 뷰, 비즈니스 로직, 데이터의 관리를 돕는 최고 성능의 컴팩트한 자바스크립트 라이브러리.
리액트는 그룹단위 / 뷰는 개인단위 가 이상적
Vue.js가 주목 받는 4가지 이유
- 디자이너와 개발자를 위해 쉽게 설계되었다.
- MVC(model view controller) 모델을 지원한다.
- HTML5와 자바스크립트만 알면 되므로 쉽게 시작할 수 있다.
- 설치하기 쉽고 용량이 작아서 속도가 빠르다.
Vue 프레임워크의 특징
- Vuie.js 출발은 가장 늦었지만 다른 프레임워크들의 단점을 보완해 성능이 우수
- 사용성이 매우 뛰어난데 이런 강점을 중심으로 지속적으로 발전
기쁘게 참여하는 커뮤니티 문화
- 신선한 아이디어로 개발을 즐겁고 자유롭게 할 수 있는 커뮤니티 중심
bestofjs.org
- 다양한 관점으로 기술 추이를 분석하여 순위
- 최근 통계를 보면 인기도면에서 뷰가 1등을 차지했었음
-- Vue.js , Hello World!
뷰의 기본 사용법과 특징
- cdn으로 설정하는 방법
- 머스태시라고 불리는 {{}} 활용법
- data 속성의 바인딩 관계를 이해
data 속성
data 속성은 뷰 안에서 사용할 데이터를 변수명으로 선언하여 관리하는 곳
객체나 함수를 선언하여 데이터를 일고 저장하는 일 수행
<div id="app">
<!-- sTitle 값을 받아서 HTML의 엘리먼트 값으로 변환하여 표시함 -->
<p>{{sTitle}}</p>
<!-- {{}} 사용 -->
</div>
js
new Vue({
el: "#app",
data:{
//{{sTitle}}로 데이터 값을 전달함
sTitle:'Hello ,World!' // 문자도 올수도 있고 함수도 올수 있다.
},
method:{
//간단한 데이터는 method로 보낼 수 있다.
}
})
단방향 바인딩과 v-bind디렉티브
데이터 바인딩
- HTML의 어트리뷰트(attribute)값을 수정할 때 v-bind라는 디렉티브를 이용해서 데이터 값을 브라우저 화면에 자동으로 반영하는 것을 의미
- 변수값을 HTML어트리뷰트에 연결함으로써 변수가 새로운 값으로 바뀔 때마다 HTML엘리먼트에 실시간으로 렌더링
- 양방향으로는 v-model
v-bind 디렉티브
- 콜론(:)을 중심으로 왼쪽에는 v-bind를 기입하고, 오른쪽에는 HTML엘리먼트의 어트리뷰트를 선언해서 바인딩으로 만들어진 값을 대입하는 식
- 콜론(:)만 사용하면 v-bind라는 명칭은 생략
양방향 바인딩과 v-model 디렉티브
양방향 데이터 바인딩
- 입력과 동시에 데이터가 동기화되어 표시되는 기능을 수행
v-model 디렉티브
- HTML어트리뷰트에 양방향 데이터 바인딩을 수행
- 콜론(:)을 중심으로 왼쪽에는 v-model을 기입하고 오른쪽에는 HTML 엘리먼트의 어트리뷰트 이름을 작성
v-bind디렉티브
- sDate값을 HTML어트리뷰트에 보내기만 함
<input v-bind:value="sDate"/>
v-model디렉티브
- sMsg값과 입력값이 서로 연동됨
<input v-model:value="sMsg"/>
v-if 디렉티브
- 조건이 충족될 때만 렌더링을 수행하도록 돕는 어트리뷰트
<!-- v-if,else로 직접 bFlag 데이터에 접근하여 조건 판단 -->
<p v-if="bFlag ==true">앞면!</p>
<p v-else>뒷면</p>
v-for
- HTML 안에서 반복문으로 배열값을 읽어서 목록의 항목과 인덱스 변수에 저장하도록 돕는 어트리뷰트
<h1>좋아하는 과일 리스트</h1>
<!-- v-for반복문으로 fruits과일 배열 데이터를 가져옴 -->
<ol>
<li v-for="item in fruits">
<!-- fruits 안의 fruitsName항목을 하나씩 가져와 html로 렌더링 -->
{{item.fruitName}}
</li>
</ol>
v-on 디렉티브
- 뷰에서 발생하는 이벤트를 지켜보면서 DOM엘리먼트를 제어할 수 있도록 도와주는 어트리뷰트
- 뷰 안에서 사용자가 키보드나 마우스를 제어하는 형식의 이벤트가 발생했을 때 이를 실행하는 함수와 바인딩 할 때 사용
-- 이벤트 핸들러
- 이벤트가 발생했을 때 실행되는 함수
-- 메소드(Methods)
- 이벤트 핸들러 함수를 제작해야 할 때 미리 정의해 두고 사용
- 뷰 객체의 행위를 정의하는 용도, 즉 로직을 실행하는 함수가 필요할 때 이곳에 정의해 두고 사용
methods :{
//버튼을 눌렀을 때 sTitle의 제목 변경
fnChangeTitle(){
//this:Vue 객체의 인스턴스
this.sTitle = 'hello!'
}
///////////////////
<input type="text" :value="inputValue" />
<h3>{{inputValue}}</h3>
<button type="button" v-on:click="plusClick">Click</button>
new Vue({
el: "#app2",
data: {
inputValue: 0,
},
methods: {
plusClick() {
this.inputValue = this.inputValue + 1;
},
},
});
728x90
'VueJS > VueJS' 카테고리의 다른 글
2023/06/19__VueJS(Vue && PWA && Firebase) (0) | 2023.06.20 |
---|---|
2023/06/15__VueJS(vuetify) (0) | 2023.06.15 |
2023/06/14__VueJS(Vuetify) (0) | 2023.06.14 |
2023/06/13__VueJS(router) (0) | 2023.06.13 |
2023/06/12__Vue.JS(2) (computed, method, component, templet, Vuex) (0) | 2023.06.12 |