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
}
}
})
일반적으로 선언형 프로그래밍이 명령형 프로그래밍보다 코드 반복이 적은 등
우수하다고 평가하는 경향이 있음
게시글 목록
| 번호 | 제목 |
|---|---|
| 3229 |
CSS
버튼 너비
|
| 3228 |
CSS
비활성화 된 버튼
|
| 3227 |
CSS
그림자 단추
|
| 3226 |
CSS
호버 블 버튼
|
| 3225 |
CSS
컬러 단추 테두리
|
| 3224 |
CSS
둥근 버튼
|
| 3223 |
CSS
CSS 단추 크기
|
| 3222 |
CSS
CSS 버튼 색상
|
| 3221 |
CSS
CSS 버튼
|
| 3220 |
CSS
이미지 모달 (고급)
|
| 3219 |
CSS
이미지 필터
|
| 3218 |
CSS
이미지 텍스트
|
| 3217 |
CSS
투명한 이미지
|
| 3216 |
CSS
폴라로이드 이미지 / 카드
|
| 3215 |
CSS
이미지 센터하기
|
| 3214 |
CSS
반응 형 이미지
|
| 3213 |
CSS
css 미리보기 이미지
|
| 3212 |
CSS
CSS 이미지
|
| 3211 |
CSS
애니메이션 속기 속성
|
| 3210 |
CSS
애니메이션의 속도 곡선 지정
|
| 3209 | |
| 3208 | |
| 3207 |
CSS
애니메이션 지연
|
| 3206 | |
| 3205 |
CSS
CSS3 전환 + 변환
|
| 3204 |
CSS
CSS3 전환 효과 지연
|
| 3203 |
CSS
CSS3 전환 속도 곡선 지정
|
| 3202 |
CSS
CSS3 Transitions
|
| 3201 |
CSS
CSS3 3D 변환
|
| 3200 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기