[Vue.js] #2 인스턴스
Vue.js 시작하기 - Age of Vue.js 강의 섹션 2. 인스턴스
인스턴스란
인스턴스
는 뷰로 개발할 때 필수로 생성해야 하는 코드이다.
new Vue(); // 생성
var vm = new Vue(); // 할당(vm은 viewModel의 약자)
console.log(vm); // 인스턴스 속성 및 API 확인
인스턴스와 생성자 함수
아래 예제 코드를 통해 Vue
의 기능을 체감해보자.
<!-- /playground/instance.html -->
<body>
<div id="app"></div>
<!-- Vue cdn -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
var vm = new Vue({
// id가 app인 태그를 찾아서 인스턴스를 붙입니다.
el: '#app', // el은 element의 약자입니다.
data: {
message: 'hi'
}
});
</script>
</body>
Live Server
에서 실행하고, 아래 코드를 콘솔 창에 입력해보자.
참고로, 함수 명을 대문자로 적으면 이는 곧 생성자임을 나타낸다.
function Vue() {
this.logText = function(){
console.log('Hello');
}
}
var vm = new Vue();
vm.logText();
Vue 생성자
에서 logText()
라는 함수를 정의하였다.
이제 Vue 생성자
를 통해서 생성되는 객체는 모두 logText()
함수를 재사용할 수 있다.
인스턴스 옵션 속성
new Vue({
el: , // 인스턴스가 그려지는 화면의 시작점(특정 HTML 태그)
template: , // 화면에 표시할 요소(HTML, CSS 등
data: , // 뷰의 반응성(Reactivity)가 반영된 데이터 속성
methods: , // 화면의 동작과 이벤트 로직을 제어하는 메소드
created: , // 뷰의 라이프 사이클과 관련된 속성
watch: , // data에서 정의된 속성이 변화했을 떄 추가 동작을 수행할 수 있게 정의하는 속성
// 등등...
})
인스턴스 옵션의 속성은 키:값
형태로 이루어져있다.
<body>
<div id="app"></div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
var options = {
el: '#app',
data: {
message: 'hi'
}
}
var vm = new Vue(options);
</script>
</body>
위 코드에서는 options
라는 객체를 정의하고 이를 Vue 인스턴스
안에 담았다.
하지만 강의에서는 이렇게 말고, 아래와 같은 방법을 추천하였다.
<body>
<div id="app"></div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
var vm = new Vue({
el: '#app',
data: {
message: 'hi'
}
});
</script>
</body>
위와 같이 가독성을 위하여 객체 리터럴
로 선언하여 사용하기를 추천하였다.
#2 인스턴스는 여기까지다. 다음 강의에서는 컴포넌트에 대해서 공부해보자.