v-show vue中的未定义错误

时间:2016-12-07 12:20:53

标签: vue-component vue.js

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

<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>(从api获取数据)。 showYear或showMonth。现在问题是当showYear切换然后player.stats.month时,showMonth <tr>...</tr>中需要抛出错误&#34; player.stats.month未定义&#34;。无论如何我可以解决这个问题吗?

1 个答案:

答案 0 :(得分:3)

v-show替换为v-if,它将起作用,因为它只会在应该的时候呈现。 v-show仅在v-if将其置于DOM时才更改可见性。