data 객체에 선언한 변수를 watch 속성에 등록하여 감시
data 객체에 선언하지 않은 새로운 변수의 값을 생성하여 반환
<div id="app">
<div class="swiper-container">
<div class="swiper-wrapper">
<ul class="ui-swiper">
<li class="swiper-slide" v-for="(item, idx) in list">
<p>{{ item }}</p>
</li>
</ul>
</div>
</div>
</div>
new Vue({
el: '#app',
data: {
list: ['Item 1', 'Item 2', 'Item 3']
},
computed: {
itemLength: function() {
const listLen = this.list.length;
console.log('[computed] list 변경 감지! : ', listLen);
return listLen;
}
},
watch: {
list: function(newVal, oldVal) {
console.log('[watch] list 변경 감지! : ', oldVal, '에서 ', newVal, '로 변경');
}
},
methods: {
addItem: function() {
console.log('[addItem] list 변경 전! : ', this.list);
this.list.push('Item ' + (this.itemLength + 1));
console.log('[addItem] list 변경 후! : ', this.list);
}
}
});
var swiper = new SwiperVue({
el: '.swiper-container',
});
swiper.update();
<div id="app">
<div class="swiper-container">
<div class="swiper-wrapper">
<ul class="ui-swiper" v-for="(item, idx) in list">
<li class="swiper-slide">
<p>{{ item }}</p>
</li>
</ul>
</div>
</div>
</div>
<div id="app">
<div class="swiper-container">
<div class="swiper-wrapper">
<ul>
<li class="swiper-slide" v-for="(item, idx) in list">
<p>{{ item }}</p>
</li>
</ul>
</div>
</div>
</div>