Vuejs2 从数组加载的表存在VueJS性能问题
我的VueJS存在性能问题。我有一个包含X行的表,我通过数组加载它。问题是,当我更改数组的单个元素时,它会再次呈现所有数组,因此会再次执行所有条件(v-if、if-in-v-bind:class等)。我在表中留下一个JSFIDLE,只隐藏一个元素,然后再次更新整个表Vuejs2 从数组加载的表存在VueJS性能问题,vuejs2,Vuejs2,我的VueJS存在性能问题。我有一个包含X行的表,我通过数组加载它。问题是,当我更改数组的单个元素时,它会再次呈现所有数组,因此会再次执行所有条件(v-if、if-in-v-bind:class等)。我在表中留下一个JSFIDLE,只隐藏一个元素,然后再次更新整个表 $(函数(){ var用户=[]; 对于(var i=1;i由于所有内容都在同一范围内呈现,因此当显示/隐藏所需的单行时,Vue将被迫重新呈现所有行。相反,请使用组件隔离更改的范围 Vue.component("row",{
$(函数(){
var用户=[];
对于(var i=1;i由于所有内容都在同一范围内呈现,因此当显示/隐藏所需的单行时,Vue将被迫重新呈现所有行。相反,请使用组件隔离更改的范围
Vue.component("row",{
props:["user"],
template:`
<tr>
<td>{{ user.id }}</td>
<td>{{random()}}</td>
<td>{{ user.name }}</td>
<td>{{ user.email }}</td>
</tr>`,
methods:{
random: function() {
return faker.random.number();
},
}
})
Vue.component(“行”{
道具:[“用户”],
模板:`
{{user.id}
{{random()}}
{{user.name}
{{user.email}
`,
方法:{
随机:函数(){
返回faker.random.number();
},
}
})
您的主模板最终看起来如下所示:
<tbody>
<tr is="row" v-for="u in users" :key="u.id" v-if="u.visible" :user="u"></tr>
</tbody>
这是更新后的问题。您能显示您的代码吗?对不起,我刚刚用代码更新了问题。
<tbody>
<tr is="row" v-for="u in users" :key="u.id" v-if="u.visible" :user="u"></tr>
</tbody>