인프런 커뮤니티 질문&답변

지구님의 프로필 이미지
지구

작성한 질문수

Vue.js 시작하기 - Age of Vue.js

watch 속성

watch 속성을 사용했을 때의 장점이 따로 있는걸까요?

해결된 질문

작성

·

206

3

안녕하세요, 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 속성으로 하는 것이 일반적이다 같은.. 게 있는지 궁금합니다 :)

답변 1

1

안녕하세요 야호빵맨님, 좋은 질문 주셨네요 :) watch 속성은 꼭 써야되는 상황이 아닌 이상 가급적 쓰시지 않는 걸 추천드립니다. watch 속성을 남발하게 되면 추후에 의도하지 않은 동작이 오류로 이어지거나 디버깅이 어려울 수 있습니다. 첨부해주신 코드에서 2번째 방식으로 앞으로의 로직도 작성해 나가시면 좋을 것 같아요 :)

지구님의 프로필 이미지
지구
질문자

네! 답변 감사합니다!

지구님의 프로필 이미지
지구

작성한 질문수

질문하기