오늘은 Vue.JS step 11. axios 비동기 서버 통신에 대해 포스팅하려고 합니다. vue.js에서 axios는 브라우저, Node.js를 위한 Promise API를 활용하는 HTTP 비동기 통신 라이브러리입니다. Javascript에서 자주 사용되는 Jquery Ajax와 비슷하게 쉽고 간편하게 사용이 가능합니다. axios는 별도로 npm, yarn, CDN 등으로 설치 또는 설정하여야 사용할 수 있습니다. 이번 포스팅에선 별도의 설치 없이 CDN형태로 설정하여 사용합니다. 아래 예제 소스코드를 통해 알아보도록 하겠습니다. 기본 html에서 vue와 axios는 CDN형태로 진행할 수 있도록 get-axios.html, set-axios.html을 생성하고, REST의 GET과 POST를 ..
vue 시작하기
오늘은 step 10. eventBus 컴포넌트 간 데이터 전달에 대해 포스팅하려고 합니다. 컴포넌트 간의 데이터 전달은 총 2가지가 있습니다. 첫 번째 방법은 서로 컴포넌트끼리 연결되어 event-emit(부모로 전달), props(자식으로 전달)의 형태로 사용되는 데이터 전달 방법이 있고, 두 번째 방법은 서로 관계없는 컴포넌트끼리 데이터를 전달하는 eventBus의 연결 방법이 있습니다. 바로 앞에 첫번째 방법에 대해 포스팅했기 때문에, 오늘은 두번째 방법인 서로 관계없는 컴포넌트끼리 데이터를 전달하는 eventBus 방식에 대해 진행하겠습니다. eventBus는 컴포넌트간에 상위(부모), 하위(자식) 관계가 없더라도 데이터를 전달할 수 있다는 장점이 있지만,너무 많이 사용하면 관리가 안된다는 단점..
오늘은 Vue.JS step 9. 같은 컴포넌트 레벨의 데이터 전달(자식1 -> 자식2)에 대해 포스팅하려고 합니다. 컴포넌트 간의 데이터 전달은 총 2가지가 있습니다. 첫 번째 방법은 서로 컴포넌트끼리 연결되어 event-emit(부모로 전달), props(자식으로 전달)의 형태로 사용되는 데이터 전달 방법이 있고, 두 번째 방법은 서로 관계없는 컴포넌트끼리 데이터를 전달하는 eventBus의 연결 방법이 있습니다. 오늘은 첫번째 방법인 event-emit(부모로 전달), props(자식으로 전달) 방식에 대해 진행하겠습니다. 상위(부모) 컴포넌트에서 하위(자식) 컴포넌트로 데이터를 전달할때는 props를 사용하고, 하위(자식) 컴포넌트에서 상위(부모) 컴포넌트로 데이터를 전달할때는 event-emit..
오늘은 Vue.JS 보간법 디렉티브(Directive) v-bind, v-on 약어에 대해 포스팅하려고 합니다. vue에서는 인스턴스에 선언한 엘리먼트를 통해서 DOM요소를 제어합니다. DOM 제어는 v- 접두어가 붙어있는 보간법 디렉티브 속성들을 사용합니다. 디렉티브 속성중에서 v-bind와 v-on은 vue에서 자주 사용되기 때문에 약어를 제공하고 있습니다. 약어의 사용은 개인의 취향 또는 선택사항이지만 개발자끼리 소통 또는 서로의 코드를 공유하고 쉽게 이해하기 위해서는 필수로 알아두어야 한다고 생각합니다. 1. v-bind 약어 ... ... ... 2. v-on 약어 ... ... ... 참조 - https://kr.vuejs.org/v2/guide/syntax.html#%EC%95%BD%EC%9..
오늘은 Vue.JS step 6. watch vs computed 에 대해 포스팅 하려고 합니다. Vue.JS에서 watch와 computed는 비슷하지만 각각의 역할에 의해 구분이 되기 때문에 함께 비교하며 보도록 하겠습니다. 먼저 watch는 단어의 연관된 의미로 "감시자" 라고 볼 수 있습니다. 특정 대상을 지켜보며 변화를 감시하고 변화에 따라 watch에서 정의한 함수들이 동작하게 됩니다. 정의된 함수를 실행하기 위한 트리거 라고도 볼 수 있습니다. 또한 watch는 기본적으로 변경된 값의 newValue 인자와 변경되기 전의 값인 oldValue 인자를 변수값으로 가지고 있습니다. 그리고 computed는 단어의 연관된 의미로 "계산기" 라고 볼 수 있습니다. 기존의 정의된 값을 연산하여 결과 ..
오늘은 Vue.JS step 5. 메서드(methods)에 대해 포스팅 하려고 합니다. Vue.JS 인스턴스의 속성중에 methods를 통해 javascript의 function() 메서드를 생성할 수 있습니다. 또한 Vue.JS는 methods 안에 컴포넌트 인스턴스를 항상 참조할 수 있도록 this값을 자동으로 binding합니다. 아래 예제 소스코드를 통해 알아보도록 하겠습니다. methods.html을 만들고, 기본 html에서 vue를 활용해 보겠습니다. vue 인스턴스 안에 methods에 함수를 정의합니다. 저는 간단하게 plus, minus의 function()을 정의하였습니다. 인스턴스안에 바인딩된 num 값을 this로 사용하여 값을 늘리고 줄이는 형태의 메서드입니다. {{message..
오늘은 Vue.JS step 4. 데이터 바인딩(data binding)에 대해 포스팅하려고 합니다. 데이터 바인딩(data binding)은 HTML 태그 안에 vue 인스턴스에서 속성들을 정의한 data를 연결하여 화면에 표시하는 방법으로 {{ }} 콧수염 괄호 형태의 템플릿 엔진 Mustache 또는 v-bind 속성을 사용합니다. 아래 예제 소스코드를 통해 확인해 보도록 하겠습니다. data-binding.html을 만들고, 기본 html에서 vue를 활용해 보겠습니다. vue 인스턴스를 생성하고 엘리먼트(el)에 html의 div id가 app인 태그를 연결합니다. data에 key - value 형태의 데이터를 만들고 v-bind 또는 {{ }} Mustache형태로 app 태그 안에 정의한 ..
오늘은 Vue.js step 2. 인스턴스(instance)에 대해 포스팅하려고 합니다. Vue.JS에서 인스턴스란 Vue를 구성하는 가장 기본적인 베이스이며 객체이고, Vue의 라이프사이클의 시작점으로 여러 동작들의 초기화 작업을 수행합니다. 일반적으로 var vm = new Vue({ // 옵션 }) 형태로 인스턴스를 생성하며, 인스턴스 생성자라고 표현합니다. vue 인스턴스의 가장 대표적인 옵션은 다음과 같이 6가지가 있습니다. 옵션 설명 el Vue가 실행될 HTML의 DOM 요소를 지정. Vue 인스턴스에 연결할 HTML 요소 data Vue가 관찰하는 data 객체를 지정, 변경 사항을 즉시 감지 computed 화면 로직 제어와 관련된 함수를 정의하고 계산된 값을 리턴해줌 methods 화면..