차근차근/JAVA Script

[Vue.js] Vue.js란 (3) - Vue 문법

예쁜꽃이피었으면 2021. 12. 3. 12:14

디렉티브

데이터 바인딩의 가장 기본적인 형태는 이중괄호를 사용합니다. {{ }}

<div id="app">{{ msg }}</div>

<script>
var vm = new Vue({
  el: '#app',
  data: {
    msg: 'Hello world'
  }
});
</script>

{{ }} 내부에 자바스크립트 표현식의 모든 기능 지원합니다. (하나의 단일 표현식만 가능)

v- 접두사 사용

접두사는 Vue 고유의 특성을 식별하기 위한 시각적 역할을 합니다. 렌더링 된 DOM에 특수한 반응형 동작을 주기위해 사용합니다.
태그에 속성을 지정하는 방식으로 v-on v-model v-for v-bind v-if v-cloak 등을 사용할 수 있습니다.

수식어

수식어는 .으로 표시되는 특수 접미사로, 디렉티브를 특별한 방법으로 바인딩 해야 함을 나타냅니다.

 <form v-on:submit.prevent="onSubmit">

 // .prevent 수식어는 트리거된 이벤트에서 event.preventDefault()를 호출하도록
 // v-on 디렉티브에게 알려줍니다.

 </form>  

 


 

v-cloak

일시적으로 화면 초기에 컴파일되지 않은 템플릿이 나타날 수 있습니다. 이런 경우에 사용하는 것이 v-cloak입니다.

<style>
[v-cloak] {display : none;}
</style>

<div id="example" v-cloak>
...
</div>

 

watch와 computed

하나의 데이터를 기반으로 다른 데이터를 변경할 필요가 있을 때 사용합니다.
주로 긴 처리 시간이 필요한 비동기 처리에 적합하다는 특징을 가지고 있습니다.

watch를 이용한 예제

<div id="example">
    x : <input type='text' v-model="x" /><br />
    y : <input type='text' v-model="y" /><br />
    덧셈 결과 : {{sum}}
</div>
<script type="text/javascript">
var vm = new Vue({
    el : "#example",
    data : { x:0, y:0, sum:0 },
    watch : {
        x : function(v) {
            console.log('## x 변경')
            var result = Number(v) + Number(this.y);
            if (isNaN(result)) this.sum = 0;
            else this.sum = result;
        },
        y : function(v) {
            console.log('## y 변경')
            var result = Number(this.x) + Number(v);
            if (isNaN(result)) this.sum = 0;
            else this.sum = result;
        }
    }
})
</script>

computed를 이용한 예제

<div id="example">
    x : <input type='text' v-model="x" /><br />
    y : <input type='text' v-model="y" /><br />
    덧셈 결과 : {{sum}}
</div>
<script type="text/javascript">
var vm = new Vue({
    el : "#example",
    data : { x:0, y:0 },

    computed : {
        sum : function() {
            var result = Number(this.x) + Number(this.y);
            if (isNaN(result)) return  0;
            else return result;
        }
    }
})
</script>

 

 

 

 

 


[참조]

https://wikidocs.net/17710

 

4. Vue 문법

##디렉티브 #### 데이터 바인딩의 가장 기본적인 형태는 **이중괄호**를 사용합니다. `{{ }}` ``` {{ msg }} var vm = new Vue({ ...

wikidocs.net

https://coding-start.tistory.com/214?category=811388 

 

Front-End - Vue.js 인스턴스(Vue 인스턴스)

뷰 인스턴스의 정의와 속성 뷰 인스턴스는 뷰로 화면을 개발하기 위해 필수적으로 생성해야 하는 기본 단위이다. 즉 뷰로 화면을 개발하기 위해 빠트릴 수 없는 필수 조건이다. 뷰 인스턴스 생

coding-start.tistory.com

https://www.bottlehs.com/vue/vue-js-%EC%9D%B8%EC%8A%A4%ED%84%B4%EC%8A%A4-&-%EC%BB%B4%ED%8F%AC%EB%84%8C%ED%8A%B8-%EC%86%8C%EA%B0%9C/

 

Vue JS 인스턴스 & 컴포넌트 소개

Vue 인스턴스는 생성될 때 일련의 초기화 단계를 거친다. 데이터가 변경되어 DOM을 업데이트하는 경우가 있다고 가정 하면, 그 과정에서 사용자 정의 로직을 실행할 수있는 라이프사이클의 훅 도

www.bottlehs.com

 

반응형

'차근차근 > JAVA Script' 카테고리의 다른 글

[Vue.js] Vue.js란 (5) - Vue 컴포넌트  (0) 2021.12.06
[Vue.js] Vue.js란 (4) - Vue 인스턴스  (0) 2021.12.03
[Vue.js] Vue.js란 (2)  (0) 2021.12.03
[Vue.js] Vue.js란 (1)  (0) 2021.12.03
History API  (0) 2021.12.01