使用vue实现抽奖
时间: 2023-08-28 07:06:39 浏览: 46
好的,使用Vue实现抽奖,可以按照以下步骤进行:
1. 创建一个Vue实例,并在其中定义奖品列表和抽奖人员列表的数据。
```javascript
new Vue({
el: '#app',
data: {
prizes: [
{ name: '一等奖', count: 1 },
{ name: '二等奖', count: 2 },
{ name: '三等奖', count: 3 },
],
players: [
{ name: '张三' },
{ name: '李四' },
{ name: '王五' },
{ name: '赵六' },
{ name: '钱七' },
],
selectedPrize: null,
selectedPlayer: null,
winners: [],
},
methods: {
// 抽奖方法
draw() {
if (!this.selectedPrize || !this.selectedPlayer) {
alert('请选择奖品和抽奖人员!');
return;
}
this.selectedPrize.count--;
this.winners.push({
prize: this.selectedPrize.name,
player: this.selectedPlayer.name,
});
this.selectedPrize = null;
this.selectedPlayer = null;
},
},
});
```
2. 在页面上渲染奖品列表和抽奖人员列表,并绑定选中事件。
```html
<div id="app">
<h2>奖品列表</h2>
<ul>
<li v-for="prize in prizes">
{{ prize.name }}(剩余{{ prize.count }}个)
<button v-if="prize.count > 0" @click="selectedPrize = prize">选择</button>
</li>
</ul>
<h2>抽奖人员列表</h2>
<ul>
<li v-for="player in players">
{{ player.name }}
<button @click="selectedPlayer = player">选择</button>
</li>
</ul>
<button @click="draw">抽奖</button>
<h2>中奖名单</h2>
<ul>
<li v-for="winner in winners">
{{ winner.prize }}:{{ winner.player }}
</li>
</ul>
</div>
```
3. 在抽奖方法中实现抽奖逻辑,并将中奖名单添加到页面上。
以上是一个简单的抽奖实现,你可以根据实际需求对其进行优化和扩展。