Ich habe eine Komponente, die Einheitspreis, Menge hält und eine Gesamtsumme in der Ansicht berechnen möchte, die nicht innerhalb der Komponente ist. Was kann ich tun, um das zu erreichen? Jede Komponente wird dynamisch generiert, hier ist ein Beispielcode. Danke!Compute von einer anderen Komponente VueJs
<table>
<tr is="item-grid" v-for='index in counter'></tr>
<tr><td v-text="sub_total"></td></tr>
<button @click="counter++" type="button">TEST ADD ROW</button>
</table>
<template id="item-template">
<tr>
<td><input type="text" class="form-control" v-model="inventory_name" readonly/></td>
<td><input type="text" class="form-control" v-model="sku"/></td>
<td><input type="text" class="form-control" v-model="qty"/></td>
<td><input v-model="unit_price"></input></td>
<td><span v-text="unit_total"></span></td>
<td><button @click="remove(this)" type="button">delete</button></td>
</tr>
</template>
<script>
var Item = {
template: '#item-template',
data: function(){
return {'qty': 0, 'unit_price': 0.00, 'inventory_name': '', 'sku': ''}
},
methods:{
remove: function(a){
console.log(a);
}
},
computed: {
unit_total: function(){
return this.qty * this.unit_price;
}
}
}
new Vue({
el: '#app',
props: ['item','sub_total','tax','grand_total'],
data: {
'counter': 1,
},
components: {
'item-grid': Item,
},
// computed: {
// sub_total: function(){
// return Item.unit_total++;
// }
// }
});
</script>
Nun, der einfachste Weg, um die Werte zu halten wäre, die in externem Objekt für die Berechnung verwendet werden, und sie dann von diesem Objekt in Orten, an denen Sie tun Berechnung benötigen. –
@BelminBedak Alle Komponenten werden dynamisch generiert, ist es möglich, sie erneut zu berechnen? –