Vuejs2 如何使用变量获取v-if列表的计数?

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 }

我想显示一个基于一个变量的列表,但是如果我显示{{I}}表示整个计数,那么如何仅获取当前列表的计数

这是我的密码:

<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。这个答案解决了你的问题,请标记正确。请不要放“[解决]”。在标题中,而不是使用一种方法,你应该考虑一个计算器。这个答案解决了你的问题,请把它标记正确。请不要在标题中“[解决]”。