我正在使用 Vue js 2 在 Laravel 上工作,在挂载方法上我正在创建一个没有问题的多维数组(我可以使用 vue-devtools 查看数据),但我无法使用 v 在我的页面上打印它-为了。
但是,当我动态创建一个简单的数组时,我可以毫无问题地打印它。
我的 Vue 代码:
<script type='text/javascript'>
var av = new Vue({
el: '#validaciones',
data: {
vChallenges: ['CH1', 'CH2', 'CH3'],
vPlayers: ['p1', 'p2', 'p3', 'p4'],
vContest: [
{ ch: 'CH1', pl: ['p1', 'p2', 'p3', 'p4'] },
{ ch: 'CH2', pl: ['p1', 'p2', 'p3', 'p4'] },
{ ch: 'CH3', pl: ['p1', 'p2', 'p3', 'p4'] }
],
vDynamicPlayers: [],
vDynamicContest: [],
},
mounted: function() {
for (i = 0; i < this.vChallenges.length; i++) {
this.vDynamicContest[i] = { ch:this.vChallenges[i], pl:[] };
for (j = 0; j < this.vPlayers.length; j++) {
this.vDynamicContest[i].pl.splice(j, 1, this.vPlayers[j]);
}
}
for (j = 0; j < this.vPlayers.length; j++) {
this.vDynamicPlayers.splice(j, 1, this.vPlayers[j]);
}
}
})
这就是我要打印的内容,但什么也没显示:
<div v-for="challenge in vDynamicContest">
<b>Challenge: @{{challenge.ch}}</b>
<span>Players:</span>
<span v-for="player in challenge.pl">
@{{player}}
</span>
</div>
当我更改vDynamicContest
为vContest
它工作正常时:
挑战:CH1 玩家:p1 p2 p3 p4
挑战:CH2 玩家:p1 p2 p3 p4
挑战:CH3 玩家:p1 p2 p3 p4
打印动态数组也没有问题:
<div v-for="player in vDynamicPlayers">
<b>Player: @{{player}}</b>
</div>
请帮忙!
我正在使用 push 方法修改数组,但在此站点https://vuejs.org/2016/02/06/common-gotchas/他们解释说 vue 不会以这种方式获取数组更改,所以我正在使用按照他们的建议进行拼接,但我仍然无法显示多数组值。