Vue.js computed속성 과 watch속성

· 7년 전 · 2337

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
        }
    }
})

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

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

퍼블리셔팁

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

+
분류 제목 글쓴이 날짜 조회
기타 7년 전 조회 2,648
기타 7년 전 조회 2,125
기타 7년 전 조회 2,567
기타 7년 전 조회 2,390
기타 7년 전 조회 2,402
기타 7년 전 조회 2,374
기타 7년 전 조회 2,148
기타 7년 전 조회 2,453
기타 7년 전 조회 2,002
기타 7년 전 조회 2,204
기타 7년 전 조회 2,380
기타 7년 전 조회 2,474
기타 7년 전 조회 2,007
기타 7년 전 조회 1,863
기타 7년 전 조회 2,338
기타 7년 전 조회 1,920
기타 7년 전 조회 1,729
기타 7년 전 조회 1,921
기타 7년 전 조회 1,602
기타 7년 전 조회 1,808
기타 7년 전 조회 1,533
기타 7년 전 조회 1,661
기타 7년 전 조회 1,515
기타 7년 전 조회 1,842
기타 7년 전 조회 1,576
기타 7년 전 조회 1,907
기타 7년 전 조회 1,883
기타 7년 전 조회 1,845
기타 7년 전 조회 3,714
기타
[기타]
7년 전 조회 3,357