Vue从模板中访问方法内部的迭代项

时间:2017-08-19 10:01:16

标签: vuejs2

学习user并坚持下去。

我正在尝试访问每种方法中的true/false,以确认每个isHumanisPlayerTurn函数的user值。如何在每个方法中的循环实例中访问<template> <div class="col-xs-12"> <h5>Enemies online</h5> <span id="no-online-players" class="player-label pull-right">{{ usersCount }}</span> <table id="new-game-opponents" class="new-game-opponents"> <tbody> <tr v-for="(user, index) in users" :key="index" :class="[isPlayerTurn() ? playerTurnClass : '']"> <td class="player-status text-right"> <div v-if="isPlayerTurn"> <span :id="['player_turn-' + user.owner_id]" class="stage-label pull-right">{{ progress }}</span> </div> <div v-else> <i class="fa fa-clock-o" aria-hidden="true" style="margin-right:5px;"></i> </div> </td> <td class="player-status text-right"> <div v-if="isHuman"> <i class="fa fa-desktop" aria-hidden="true"></i> </div> <div v-else> <i class="fa fa-user" aria-hidden="true" style="margin-right:2px;"></i> </div> </td> </tr> </tbody> </table> </div> </template> <script> export default { props: ['users', 'usersCount'], data: function () { return { playerTurnClass: 'next-player-turn', myPlayer: my_player, progress: game.progress.status.turn_status.current_stage } }, methods: { isPlayerTurn: function(user, index) { return this.myPlayer.id === this.users[index]['id']; }, isHuman: function(user, index) { return this.users[index]['owner_id'] !== 'ai'; } } }; </script>

我在模板中有以下表格行:

user

我正在尝试访问每种方法中的true/false,以确认每个isHumanisPlayerTurn函数的user值。

如何在每个方法中的循环实例中访问progress?或者我应该以不同的方式做这件事吗?

此外,不会呈现{{1}}属性。但是一步一步!

1 个答案:

答案 0 :(得分:1)

首先,试试

<div v-if="isPlayerTurn(user, index)">...</div>

<div v-if="isHuman(user, index)">...</div>

我注意到您并未在userisPlayerTurn方法中使用isHuman,因此我建议您将user退出。

关于progress,我不知道game的来源,但我猜测game.progress.status.turn_status.current_stage中的值是动态的,所以我建议您先尝试更改{{} 1}}到计算属性:

progress