2
다음 예는 HTML로 목록을 인쇄합니다. HTML 출력은 정상입니다. 그러나 console.log
에 같은 목록의 결과가 복제됩니다. 왜? 나는 대답을 찾을 수 없습니다,하지만 난 다음 발견 : 당신은 출력하지 HTML에서 productsCount
변수를 할 경우Vue v-console.log로 출력합니다.
- 는 다음
console.log
의 중복이 발생하지 않습니다. mounted
후크를created
으로 바꾼 경우console.log
의 중복도 발생하지 않습니다.
누구든지이 동작을 설명 할 수 있으면 감사하게 생각합니다.
뷰의 v2.4.0은
new Vue({
data: {
products: [1, 2, 3],
productsCount: 0
},
methods: {
cell(product) {
console.log(product);
return product;
}
},
mounted() {
this.productsCount = this.products.length;
}
}).$mount('#products');
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.4.0/vue.js"></script>
<div id="products">
<h6>productsCount: {{productsCount}}</h6>
<ul>
<li v-for="(product, index) in products">
<span v-html="cell(product)"></span>
</li>
</ul>
</div>
고마워요. 왜 변수를 출력하지 않으면 로그가 중복되지 않습니까? –
@ abdulmanov.ilmir html에 변수를 출력하지 않더라도 데이터 객체가 업데이트되면 다시 렌더링됩니다. –
@ Vamsi Krishna이 경우 vue는 영리합니다. :) –