수

Vue.js computed속성 과 watch속성

· 2019-01-21 (월) 12:30:03 · 2604

Vue.js computed속성 과 watch속성

 

Vue는 Vue인스턴스의 데이터 변경을 관찰하고 이에 반응하는 보다 일반적인 watch속성을
제공합니다.
다른 데이터 기반으로 변경할 필요가 있는 데이터가 있는 경우, 
특히 AngularJS를 사용하던 경우 watch를 남용하는 경우가 있습니다.
하지만 명령적인 watch 콜백보다 계산된 속성을 사용하는 것이 더 좋습니다. 
watch 속성은 감시할 데이터를 지정하고 그 데이터가 바뀌면 이런 함수를 
실행하라는 방식으로 소프트웨어 공학에서 이야기하는 명령형 프로그램 방식.
computed속성은 계산해야 하는 목표 데이터를 정의하는 방식으로 소프트웨어 공학에서
이야기하는 선언형 프로그램 방식.

HTML 부분
<div id="demo">{{fullName}}</div>

JS부분
var vm = new Vue({
    el : "#demo", 
    data : {
        firstName : "Foo",
        lastName : "Bar",
        fullName : "Foo Bar"
    },
    watch : {
        firstName : function(val){
            this.fullName = val + ' ' + this.lastName
        },
        lastName : function(val){
            this.fullName = this.firstName + ' ' + val
        }
    }
})

위의 코드는 명령형이고 또 코드를 반복합니다. 
computed속성을 사용하는 방식과 비교해 보세요.

JS부분
var vm = new Vue({
    el : "#demo",
    data : {
        firstName : "Foo", 
        lastName : "Bar"
    },
    computed : {
        fullName : function(){
            return this.firstName + ' ' + this.lastName
        }
    }
})

일반적으로 선언형 프로그래밍이 명령형 프로그래밍보다 코드 반복이 적은 등 
우수하다고 평가하는 경향이 있음

댓글을 작성하시려면 로그인이 필요합니다.

퍼블리셔팁

1,282건

퍼블리싱과 관련된 유용한 정보를 공유하세요. 질문은 상단의 QA에서 해주시기 바랍니다.

+
분류 제목 글쓴이 날짜 조회
기타 19-02-04 조회 4,451
기타 19-02-04 조회 6,831
기타 19-01-31 조회 3,036
기타 19-01-31 조회 2,915
기타 19-01-31 조회 2,414
기타 19-01-28 조회 2,845
기타 19-01-28 조회 2,661
기타 19-01-28 조회 2,695
기타 19-01-24 조회 2,669
기타 19-01-24 조회 2,421
기타 19-01-24 조회 2,762
기타 19-01-23 조회 2,308
기타 19-01-23 조회 2,493
기타 19-01-23 조회 2,661
기타 19-01-22 조회 2,753
기타 19-01-22 조회 2,240
기타 19-01-22 조회 2,124
기타 19-01-21 조회 2,605
기타 19-01-16 조회 2,231
기타 19-01-16 조회 1,946
기타 19-01-16 조회 2,153
기타 19-01-12 조회 1,851
기타 19-01-12 조회 2,053
기타 19-01-12 조회 1,775
기타 19-01-11 조회 1,895
기타 19-01-11 조회 1,811
기타 19-01-11 조회 2,105
기타 19-01-10 조회 1,838
기타 19-01-10 조회 2,169
기타 19-01-10 조회 2,168