2
次の例では、リストをHTML形式で出力します。 HTMLでの出力は正常です。しかし、console.log
の同じリストの出力は複製されます。どうして?私は答えを見つけることができませんでしたが、私は次のように気づい:Vue v-console.logへの出力
- あなたがHTMLで出力
productsCount
変数をしない場合は、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は賢いです:) –