<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>https://devcafe.co.kr/w/index.php?action=history&amp;feed=atom&amp;title=Vue.js</id>
	<title>Vue.js - 편집 역사</title>
	<link rel="self" type="application/atom+xml" href="https://devcafe.co.kr/w/index.php?action=history&amp;feed=atom&amp;title=Vue.js"/>
	<link rel="alternate" type="text/html" href="https://devcafe.co.kr/w/index.php?title=Vue.js&amp;action=history"/>
	<updated>2026-04-07T21:36:24Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://devcafe.co.kr/w/index.php?title=Vue.js&amp;diff=397&amp;oldid=prev</id>
		<title>Devcafe: 새 문서: == Vue.js 개요 == * UI를 빠르게 개발하기 위해서 만들어진 자바스크립트 프레임워크. * MVVM(Model-View-ViewModel) 패턴을 따르며, 어플리케이션로직과 UI 분리 설계  * vue.js 사이트 : https://kr.vuejs.org/  == Vue.js 장점 == * 다른 프레임워크와는 달리 유연하고 가벼움 * angular.js와는 달리 전체 아키텍처를 새롭게 구성할 필요가 없고 기존의 웹 어플리케이션의 일부 UI만 적용하는것...</title>
		<link rel="alternate" type="text/html" href="https://devcafe.co.kr/w/index.php?title=Vue.js&amp;diff=397&amp;oldid=prev"/>
		<updated>2024-10-14T17:28:22Z</updated>

		<summary type="html">&lt;p&gt;새 문서: == Vue.js 개요 == * UI를 빠르게 개발하기 위해서 만들어진 자바스크립트 프레임워크. * MVVM(Model-View-ViewModel) 패턴을 따르며, 어플리케이션로직과 UI 분리 설계  * vue.js 사이트 : https://kr.vuejs.org/  == Vue.js 장점 == * 다른 프레임워크와는 달리 유연하고 가벼움 * angular.js와는 달리 전체 아키텍처를 새롭게 구성할 필요가 없고 기존의 웹 어플리케이션의 일부 UI만 적용하는것...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Vue.js 개요 ==&lt;br /&gt;
* UI를 빠르게 개발하기 위해서 만들어진 자바스크립트 프레임워크.&lt;br /&gt;
* MVVM(Model-View-ViewModel) 패턴을 따르며, 어플리케이션로직과 UI 분리 설계 &lt;br /&gt;
* vue.js 사이트 : https://kr.vuejs.org/&lt;br /&gt;
&lt;br /&gt;
== Vue.js 장점 ==&lt;br /&gt;
* 다른 프레임워크와는 달리 유연하고 가벼움&lt;br /&gt;
* angular.js와는 달리 전체 아키텍처를 새롭게 구성할 필요가 없고 기존의 웹 어플리케이션의 일부 UI만 적용하는것도 가능&lt;br /&gt;
* SPA(Single Page Application:단일 페이지 어플리케이션) 구성을 위해 필요한 라우터기능 지원&lt;br /&gt;
* 가상 DOM을 지원하여 빠른 UI렌더링이 가능&lt;br /&gt;
* vue.js와 다른 프레임워크의 차이점 비교 =&amp;gt; https://kr.vuejs.org/v2/guide/comparison.html&lt;br /&gt;
* React와 Angular 의 장점을 가진 프레임워크가 Vue&lt;br /&gt;
* Vue는 Angular의 양방향 데이터 바인딩과, React의 단방향 데이터 흐름의 장점을 모두 결합한 프레임워크&lt;br /&gt;
*:* 양방향 데이터 바인딩 이란? 화면에 표시되는 값과 프레임워크의 모델 데이터 값이 동기화 되어 한쪽이 변경되면 다른 한쪽도 자동으로 변경되는 것을 말한다.&lt;br /&gt;
*:* 단방향 데이터 바인딩이란? 컴포넌트 단방향 통신을 의미하는데 컴포넌트 간 데이터를 전달할 때 항상 상위컴포넌트에서 하위컴포넌트 방향으로 전달하게끔 구조화 되어 있는것을 의미한다.&lt;br /&gt;
&lt;br /&gt;
== 예제 Hello World! ==&lt;br /&gt;
*  Vue JS 라이브러리를 다운로드 해도 되지만, 간단하게 테스트하기 위해 CDN 선언&lt;br /&gt;
&lt;br /&gt;
# Vue 인스턴스를 하나 생성하여 간단한 Vue App 생성&lt;br /&gt;
&amp;lt;source lang=html&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;meta charset=&amp;quot;EUC-KR&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Insert title here&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://unpkg.com/vue@2.3.3&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
  new Vue({&lt;br /&gt;
     el: &amp;#039;#app&amp;#039;,&lt;br /&gt;
     data: {&lt;br /&gt;
        message: &amp;#039;Hello World!&amp;#039;&lt;br /&gt;
      }&lt;br /&gt;
  })&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;app&amp;quot;&amp;gt;&lt;br /&gt;
  {{ message }}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=html&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;meta charset=&amp;quot;EUC-KR&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Insert title here&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://unpkg.com/vue@2.3.3&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;div id=&amp;quot;app&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;h2&amp;gt;{{message}}&amp;lt;/h2&amp;gt;&lt;br /&gt;
	&amp;lt;/div&amp;gt; &lt;br /&gt;
	  &lt;br /&gt;
	&amp;lt;script&amp;gt;&lt;br /&gt;
	 var model = {&lt;br /&gt;
	 message : &amp;quot;Hello Vue.js~&amp;quot;&lt;br /&gt;
	 }&lt;br /&gt;
	 &lt;br /&gt;
	 var _app = new Vue({&lt;br /&gt;
	 el : &amp;quot;#app&amp;quot;,&lt;br /&gt;
	 data : model&lt;br /&gt;
	 })&lt;br /&gt;
	&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* 콘솔에서 직접 변수의 값을 변경해 볼 수도 있음.&lt;br /&gt;
* data 옵션은 vue 인스턴스가 관찰하는 데이터 객체를 의미 , 변경사항이 즉시 감지되어 반영&lt;br /&gt;
&amp;lt;source lang=html&amp;gt;&amp;lt;h2&amp;gt;{{message}}&amp;lt;/h2&amp;gt;&amp;lt;/source&amp;gt; 대신&lt;br /&gt;
&amp;lt;source lang=html&amp;gt;&amp;lt;h2 v-text=&amp;quot;message&amp;quot;&amp;gt;&amp;lt;/h2&amp;gt;&amp;lt;/source&amp;gt; 를 사용해도 된다.&lt;br /&gt;
&amp;lt;source lang=html&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; v-bind:value=&amp;quot;message&amp;quot;&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== 양방향 바인딩 v-model 디렉티브 예제 ===&lt;br /&gt;
&amp;lt;source lang=html&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;meta charset=&amp;quot;UTF-8&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Insert title here&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://unpkg.com/vue@2.3.3&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;div id=&amp;quot;selectBox&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;div&amp;gt; 좋아하는 언어를 선택해보자 &amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;input type=&amp;quot;checkbox&amp;quot; value=&amp;quot;java&amp;quot; v-model=&amp;quot;lang&amp;quot;&amp;gt;자바&lt;br /&gt;
		&amp;lt;input type=&amp;quot;checkbox&amp;quot; value=&amp;quot;C&amp;quot; v-model=&amp;quot;lang&amp;quot;&amp;gt;C&lt;br /&gt;
		&amp;lt;input type=&amp;quot;checkbox&amp;quot; value=&amp;quot;C#&amp;quot; v-model=&amp;quot;lang&amp;quot;&amp;gt;C#&lt;br /&gt;
	&amp;lt;/div&amp;gt; &lt;br /&gt;
	  &lt;br /&gt;
	&amp;lt;div id=&amp;quot;selectedLang&amp;quot;&amp;gt;&lt;br /&gt;
		선택한 언어 :: &lt;br /&gt;
		&amp;lt;span v-html=&amp;quot;lang&amp;quot;&amp;gt;&amp;lt;/lang&amp;gt;&lt;br /&gt;
	&amp;lt;/div&amp;gt;&lt;br /&gt;
	  &lt;br /&gt;
	&amp;lt;script&amp;gt;&lt;br /&gt;
		var model = {&lt;br /&gt;
		 lang : []&lt;br /&gt;
		};&lt;br /&gt;
		&lt;br /&gt;
		var selectBox = new Vue({&lt;br /&gt;
			el : &amp;#039;#selectBox&amp;#039; , data:model&lt;br /&gt;
		});&lt;br /&gt;
		&lt;br /&gt;
		var selectedLang = new Vue({&lt;br /&gt;
			el : &amp;#039;#selectedLang&amp;#039; , data:model&lt;br /&gt;
		});&lt;br /&gt;
	&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* 하나의 model 객체를 두개의 vue 인스턴스에서 참조하며 selectBox에서 바인딩하는 뷰 객체가 v-model을 사용해 양방향데이터 바인딩을 하여 model 객체의 lang이라는 배열에 값을 바로 변경하는 것.&lt;br /&gt;
&lt;br /&gt;
=== v-if 디렉티브 예제 ===&lt;br /&gt;
* v-if는 조건에 부합될때에만 렌더링 화면이 자주 변경되는 부분에 대해서는 v-if보다는 v-show를 쓰는게 더 바람직&lt;br /&gt;
&amp;lt;source lang=html&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;meta charset=&amp;quot;UTF-8&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Insert title here&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://unpkg.com/vue@2.3.3&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;account&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;input type=&amp;quot;text&amp;quot; v-model=&amp;quot;amount&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;h2 v-if=&amp;quot;amount&amp;lt;0&amp;quot; &amp;gt; 마이너스&amp;lt;/h2&amp;gt;&lt;br /&gt;
	&amp;lt;h2 v-else-if=&amp;quot;amount&amp;gt;0&amp;quot; &amp;gt; 플러스&amp;lt;/h2&amp;gt;&lt;br /&gt;
	&amp;lt;h2 v-else=&amp;quot;amount&amp;gt;0&amp;quot; &amp;gt;문자 혹은0&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
	  &lt;br /&gt;
	&amp;lt;script&amp;gt;&lt;br /&gt;
		var simple1 = new Vue({&lt;br /&gt;
			el : &amp;quot;#account&amp;quot;,&lt;br /&gt;
			data : {&lt;br /&gt;
				amount : 0&lt;br /&gt;
				}&lt;br /&gt;
		});&lt;br /&gt;
	&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 반복적인 데이터 표현을 위한 v-for 디렉티브 예제 ===&lt;br /&gt;
&amp;lt;source lang=html&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;meta charset=&amp;quot;UTF-8&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Insert title here&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://unpkg.com/vue@2.3.3&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;list&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;ul v-for=&amp;quot;item in items&amp;quot;&amp;gt;&lt;br /&gt;
	 &amp;lt;li&amp;gt;{{item.no}}&amp;lt;/li&amp;gt;&lt;br /&gt;
	  &amp;lt;li&amp;gt;{{item.nm}}&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
	  &lt;br /&gt;
	&amp;lt;script&amp;gt;&lt;br /&gt;
		var model = {&lt;br /&gt;
			&amp;quot;items&amp;quot; : [&lt;br /&gt;
				{ &amp;quot;no&amp;quot; : 1 , &amp;quot;nm&amp;quot; : &amp;quot;아이템1&amp;quot;},&lt;br /&gt;
				{&amp;quot;no&amp;quot; : 2 , &amp;quot;nm&amp;quot; : &amp;quot;아이템2&amp;quot;},&lt;br /&gt;
				{&amp;quot;no&amp;quot; : 3 , &amp;quot;nm&amp;quot; : &amp;quot;아이템3&amp;quot;}&lt;br /&gt;
			]&lt;br /&gt;
		};&lt;br /&gt;
		var List = new Vue({&lt;br /&gt;
			el : &amp;quot;#list&amp;quot;,&lt;br /&gt;
			data : model&lt;br /&gt;
		});&lt;br /&gt;
	&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== 인덱스 예제 ===&lt;br /&gt;
&amp;lt;source lang=html&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;list&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;ul v-for=&amp;quot;(item,index) in items&amp;quot;&amp;gt;&lt;br /&gt;
	 &amp;lt;li&amp;gt;{{index}}&amp;lt;/li&amp;gt;	&lt;br /&gt;
	 &amp;lt;li&amp;gt;{{item.no}}&amp;lt;/li&amp;gt;&lt;br /&gt;
	  &amp;lt;li&amp;gt;{{item.nm}}&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Devcafe</name></author>
	</entry>
</feed>