Ich würde gerne wissen, wie ich Daten zwischen zwei Komponenten senden kann. Daher möchte ich an eine andere Komponente den dynamischen Wert senden, der auf selectedBase.price gerendert und in einer anderen Komponente gerendert wird. Ich habe es mit Requisiten versucht, aber nicht erfolgreich.Vue js Senden von Daten zwischen den Komponenten
<v-layout row wrap primary-title v-for="base in bases" :key="base.id">
<v-layout column>
<v-flex xs6 offset-xs3>
<v-avatar size="80px" class="grey lighten-1">
<img :src="base.href" :class="{selected: selectedBase.id == base.id}" @click="selectedBase = base" alt="avatar">
</v-avatar>
</v-flex>
</v-layout>
<v-layout column>
<v-flex xs6 offset-xs4>
<v-subheader>{{base.name}} {{base.price}}€ {{selectedBase.price}}</v-subheader>
</v-flex>
</v-layout>
</v-layout>
<script>
export default {
data() {
return {
selectedBase: {},
bases: [{
id: 1,
name: "black",
price: 4,
href: "../../static/black.jpg"
}, {
id: 2,
name: "white",
price: 6,
href: "../../static/white.jpg"
}]
}
},
computed: {
totalBase: function() {
var totalBase = 0;
for (var i = 0; i < this.bases.length; i++) {
if (this.bases[i].selected) {
totalBase += this.bases[i].price;
}
}
return totalBase;
}
},
methods: {
getSelectedBase() {
return this.selectedBase;
}
}
}
</script>
Sie können Daten zwischen Komponenten praktisch NUR mit Requisiten teilen. Der empfohlene Weg besteht jedoch darin, Vuex für gemeinsame Daten zu verwenden. – WaldemarIce
ok, danke. Könnten Sie begründen, warum es besser ist, in diesem Fall Vuex anstelle von Requisiten zu verwenden? Ich habe Vuex nie benutzt, ich weiß nicht, wie es funktioniert. danke – user8548238
Ich kann für dich Beispiel mit "Vanille" Vue mit Requisiten schreiben, und zweitens mit Vuex, aber später bin ich beschäftigt. Kannst du 1 Stunde warten? – WaldemarIce