Ich habe ein Problem bei der Reaktivierung der Schaltfläche, auch wenn die bedingte Anweisung funktioniert. sah aus, als ob das V-Modell nicht mit den Daten kommunizierte, aber mit einer einfachen Interpolation wurde der Wert aktualisiert.vuejs: deaktiviert funktioniert nicht
Ich weiß nicht wirklich, wo ich den Code falsch mache.
<template>
<div class="col-sm-6 col-md-4">
<div class="panel panel-success">
<div class="panel-heading">
<h3 class="panel-title">{{stock.name}}
<small>(Price: {{stock.price}})</small>
</h3>
</div>
<div class="panel-body">
<div class="pull-left">
<input v-model="quantity" type="number" class="form-control" placeholder="Quantity">
</div>
<div class="pull-right">
<button class="btn btn-success" @click="buyStock" :disabled="isDisabled">Buy</button>
</div>
<p>{{quantity}}</p>
</div>
</div>
</div>
</template>
<script>
export default {
props: [
"stock",
],
data() {
return {
quantity: 0,
}
},
methods: {
buyStock() {
const order = {
stockId: this.stock.id,
stockPrice: this.stock.price,
quantity: this.quantity
};
console.log(order);
this.$store.dispatch("buyStock", order);
this.quantity = 0;
}
},
computed: {
isDisabled() {
if (this.quantity <= 0 || !Number.isInteger(this.quantity)) {
return true;
} else {
return false;
}
}
}
}
</script>
Warum ist Ihr isDisabled() in berechneten und nicht in Methoden? –