Vuejs2 如何使用变量获取v-if列表的计数?
我想显示一个基于一个变量的列表,但是如果我显示{{I}}表示整个计数,那么如何仅获取当前列表的计数 这是我的密码:Vuejs2 如何使用变量获取v-if列表的计数?,vuejs2,Vuejs2,我想显示一个基于一个变量的列表,但是如果我显示{{I}}表示整个计数,那么如何仅获取当前列表的计数 这是我的密码: <tr v-for="(item, i) in placares" v-if="item.dificuldade == dificuldadeAtual.nome"> <td>{{ i }}</td> <td>{{ item.nome }}</td> <td>{{ item.fase }
<tr v-for="(item, i) in placares" v-if="item.dificuldade == dificuldadeAtual.nome">
<td>{{ i }}</td>
<td>{{ item.nome }}</td>
<td>{{ item.fase }}</td>
<td>{{ item.pontos | formatNumber }}</td>
</tr>
{{i}
{{item.nome}}
{{item.fase}
{{item.pontos | formatNumber}
应用程序正在这里运行:您的问题不太清楚,但我认为这将帮助您:
<tr v-for="(item, index) in placares">
<div v-if="item.dificuldade == dificuldadeAtual.nome">
<td>{{ index }}</td>
<td>{{ item.nome }}</td>
<td>{{ item.fase }}</td>
<td>{{ item.pontos | formatNumber }}</td>
</div>
</tr>
{{index}}
{{item.nome}}
{{item.fase}
{{item.pontos | formatNumber}
不要在同一元素中使用v-for和v-if,v-for将获得优先权。您的问题不太清楚,但我认为这将有助于您:
<tr v-for="(item, index) in placares">
<div v-if="item.dificuldade == dificuldadeAtual.nome">
<td>{{ index }}</td>
<td>{{ item.nome }}</td>
<td>{{ item.fase }}</td>
<td>{{ item.pontos | formatNumber }}</td>
</div>
</tr>
{{index}}
{{item.nome}}
{{item.fase}
{{item.pontos | formatNumber}
不要在同一个元素中使用v-for和v-if,v-for将获得优先级。这不是语义问题,我使用一种方法过滤列表解决了这个问题
methods:{
filterPlacar(dificuldade){
return _.take(_.filter(this.placares, item => {
return item.dificuldade.indexOf(dificuldade) >=0;
}),15);
}
}
和v-for:
<tr v-for="(item, j) in filterPlacar(dificuldadeAtual.nome)">
<td>{{ ++j }}</td>
<td>{{ item.nome }}</td>
<td>{{ item.fase }}</td>
<td>{{ item.pontos | formatNumber }}</td>
</tr>
{{++j}
{{item.nome}}
{{item.fase}
{{item.pontos | formatNumber}
这不是语义问题,我用一种方法过滤列表,解决了这个问题
methods:{
filterPlacar(dificuldade){
return _.take(_.filter(this.placares, item => {
return item.dificuldade.indexOf(dificuldade) >=0;
}),15);
}
}
和v-for:
<tr v-for="(item, j) in filterPlacar(dificuldadeAtual.nome)">
<td>{{ ++j }}</td>
<td>{{ item.nome }}</td>
<td>{{ item.fase }}</td>
<td>{{ item.pontos | formatNumber }}</td>
</tr>
{{++j}
{{item.nome}}
{{item.fase}
{{item.pontos | formatNumber}
您可以用v-show
替换v-if
,如:
<tr v-for="(item, i) in placares" v-show="item.dificuldade == dificuldadeAtual.nome">
<td>{{ i }}</td>
<td>{{ item.nome }}</td>
<td>{{ item.fase }}</td>
<td>{{ item.pontos | formatNumber }}</td>
</tr>
您可以将
v-if
替换为v-show
如下:
<tr v-for="(item, i) in placares" v-show="item.dificuldade == dificuldadeAtual.nome">
<td>{{ i }}</td>
<td>{{ item.nome }}</td>
<td>{{ item.fase }}</td>
<td>{{ item.pontos | formatNumber }}</td>
</tr>
一个选项是创建返回
placares.filter(函数(项){return item.dificuldade==dificuldeatural.nome})
,然后更改v-for以使用该过滤数组。一个选项是创建返回placares.filter(函数(项))的计算变量{返回iTim.difuldAddi= = difuldDaTuual.nOM})/代码>,然后更改你的V使用该过滤数组。而不是使用一种方法,你应该考虑CopyTeDf。这个答案解决了你的问题,请标记正确。请不要放“[解决]”。在标题中,而不是使用一种方法,你应该考虑一个计算器。这个答案解决了你的问题,请把它标记正确。请不要在标题中“[解决]”。