watch 속성을 사용했을 때의 장점이 따로 있는걸까요?
안녕하세요, Vue 강의를 학습 중인 학생입니다.
수업 내용 중에 'watch 속성' 회차에서 아래와 같이 num 의 값이 변경되었을 때 logText function 이 수행되도록 하는 로직을 같이 실습하였는데요,
<script>
new Vue({
el: '#app',
data: {
num: 10
},
watch: {
num: function() {
this.logText();
}
},
methods: {
addNum: function() {
this.num = this.num + 1;
// this.logText();
},
logText: function() {
console.log('changed');
}
}
})
</script>
해당 방법에 대해 언급해주시기 전에 제가 생각했던 방법은 아래와 같았고, 실제로 동작도 동일하게 수행되는 것 같은데 혹시 watch 속성을 사용했을 때의 장점이 따로 있는걸까요?
<script>
new Vue({
el: '#app',
data: {
num: 10
},
// watch: {
// num: function() {
// this.logText();
// }
// },
methods: {
addNum: function() {
this.num = this.num + 1;
this.logText();
},
logText: function() {
console.log('changed');
}
}
})
</script>
변경점에 대한 관리는 watch 속성으로 하는 것이 일반적이다 같은.. 게 있는지 궁금합니다 :)
Answer 1
1
안녕하세요 야호빵맨님, 좋은 질문 주셨네요 :) watch 속성은 꼭 써야되는 상황이 아닌 이상 가급적 쓰시지 않는 걸 추천드립니다. watch 속성을 남발하게 되면 추후에 의도하지 않은 동작이 오류로 이어지거나 디버깅이 어려울 수 있습니다. 첨부해주신 코드에서 2번째 방식으로 앞으로의 로직도 작성해 나가시면 좋을 것 같아요 :)
개발자 툴에서 Vue가 표시되지 않는 현상.
0
93
2
chrome 확장 devtools 버전 문제
0
81
1
Vue.js not detected가 자꾸 뜹니다
0
83
2
마지막 강의가 안되요
0
57
1
data, computed, watch > Reactivity
0
51
1
f12누르고 개발자도구에 vue 탭이 안생겨요
0
89
1
vue composition api
0
73
1
강의 자료 다운이 될까요?
0
128
1
개발자 도구에서 뷰탭이 안보여요....
0
585
3
프롭스 데이터 질문입니다.
0
113
1
component.html:11 Uncaught ReferenceError: Vue is not defined at component.html:11:20 (anonymous) @ component.html:11
0
140
1
화면이 안떠요,, 이전 이후 강의는 뜨는데..
0
236
6
크롬 확장 프로그램 vue devtools 설치했는데
0
532
2
코드를 수정하고 브라우저의 Vue로 넘어가면 다운이 됩니다.
0
243
1
버튼을 클릭해도 event가 발생하지 않습니다.
0
310
1
vue3 css 경로 표시 문의
1
231
2
개발자도구 vue탭
0
355
1
vue.cli 재시작
0
240
1
화면 코드 보기
1
226
2
App.vue 내용 변경했는데 창이 연결할수없대요ㅜㅜ
1
384
2
html/css/js로 작성된 코드를 vue.js로 일부 전환하고자 이 강의를 듣기 시작했습니다.
1
886
2
{{ num }} 이 <app-content> 아래에 들어가 있을때에는 노출이 안됩니다...
1
288
2
뷰 개발자도구 이벤트 타임라인 어느 부분에서 확인가능한건가요
1
401
2
다음 단계 강의는...?
1
387
2

