【问题标题】:undefined error in v-show vuev-show vue中的未定义错误
【发布时间】:2016-12-07 12:20:53
【问题描述】:

在我的 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>

请记住,每个&lt;tr&gt;...&lt;/tr&gt; 仅在使用“切换”showYear 或 showMonth 时才会被填充(从 api 获取数据)。现在,当切换 showYear 时出现问题,然后 player.stats.month 在 showMonth 中需要 &lt;tr&gt;...&lt;/tr&gt; 抛出错误“player.stats.month 未定义”。无论如何我可以解决这个问题吗?

【问题讨论】:

    标签: vue-component vue.js


    【解决方案1】:

    v-show 替换为v-if,它会工作,因为它只会在应该渲染的时候渲染。 v-show 仅更改可见性,当 v-if 仅在 true 时将其放入 DOM。

    【讨论】:

    • 谢谢!我没有使用 v-if 认为它只会加载一次。这就是我需要的!