v-show vue 中的未定义错误

undefined error in v-show vue

在我的 Vue 2.0 .vue 组件文件中,我有两个 'conditions' 并且根据它们何时变为真,我将它们显示给用户。我有一个按钮可以切换

<tr v-show="showMonth" v-for="player in players">
  <td><input type="checkbox"></td>
  <td>{{ player.name }}</td>
  <td>{{ player.stats.month.goals }}</td>
  <td>{{ player.stats.month.assists }}</td>
  <td>{{ player.stats.month.played }}</td>
</tr>
<tr v-show="showYear" v-for="player in players">
  <td><input type="checkbox"></td>
  <td>{{ player.name }}</td>
  <td>{{ player.stats.year.goals }}</td>
  <td>{{ player.stats.year.assists }}</td>
  <td>{{ player.stats.year.played }}</td>
</tr>

请记住,每个 <tr>...</tr> 仅在使用 'toggles' showYear 或 showMonth 时才会被填充(从 api 获取数据)。现在,当切换 showYear 时出现问题,然后 showMonth <tr>...</tr> 中需要的 player.stats.month 抛出错误 "player.stats.month is undefined"。无论如何我可以解决这个问题吗?

v-show 替换为 v-if 它将起作用,因为它只会在应该呈现的时候呈现。 v-show 仅改变可见性,当 v-if 将其放入 DOM 时仅当为真时。