40 lines
900 B
HTML
40 lines
900 B
HTML
<link rel="stylesheet" type="text/css" href="bulma.css">
|
|
|
|
<div id="app">
|
|
<h1>库存信息</h1>
|
|
<hr>
|
|
<ul>
|
|
<li v-for="product in products">
|
|
{{ product.name }} -
|
|
<input type="number" v-model.number="product.quantity" min="0">
|
|
<span v-if="product.quantity === 0">
|
|
已经售罄
|
|
</span>
|
|
<button @click="product.quantity += 1">
|
|
增加库存
|
|
</button>
|
|
</li>
|
|
</ul>
|
|
<h2>库存总量:{{ totalQuantity }}台</h2>
|
|
</div>
|
|
|
|
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
|
|
<script>
|
|
const app = new Vue({
|
|
el: '#app',
|
|
data: {
|
|
products: [
|
|
{"id": 1, "name": "iPhone X", "quantity": 20},
|
|
{"id": 2, "name": "华为 Mate20", "quantity": 0},
|
|
{"id": 3, "name": "小米 Mix3", "quantity": 50}
|
|
]
|
|
},
|
|
computed: {
|
|
totalQuantity() {
|
|
return this.products.reduce((sum, product) => {
|
|
return sum + product.quantity
|
|
}, 0);
|
|
}
|
|
}
|
|
});
|
|
</script> |