十一、列表渲染v-for与v-if一同使用性能优化技巧

时间:2021-09-06
本文章向大家介绍十一、列表渲染v-for与v-if一同使用性能优化技巧,主要包括十一、列表渲染v-for与v-if一同使用性能优化技巧使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1、当 v-for 与 v-if 一起使用时,v-for 的优先级比 v-if 更高。这意味着 v-if 分别重复运行每个 v-for 循环中。

      如果渲染一个列表时,需要按照条件来渲染,那么需要v-for与v-if一起使用了。

2、Vue官方不建议v-if和v-for同时用在一个元素上,因为一起使用的话,每一个元素都会添加一个v-if,

       重复运行于每一个v-for循环中,会造成性能的浪费

3、建议使用computed计算属性来解决这个(按照条件来渲染列表)问题。

<template>
     <div v-for='(item,index) in newItems' :key='index'><!--3、使用computed计算属性,直接返回筛选过滤后的结果,把结果数据直接当列表数据源使用-->
          {{item.title}}
     </div>
</template>
<script>
    let data={
        items:[
            {title:'羊肉串',isShow:true},
            {title:'猪肉串',isShow:false},
            {title:'牛肉串',isShow:true},
            {title:'馒头片',isShow:true},
            {title:'面包片',isShow:false}
        ]
    };
computed:{
//3、建议使用computed计算属性来解决这个(按照条件来渲染列表)问题。 newItems(){ //其实使用了computed计算属性的getter return this.items.filter((item)=>{ return item.isShow==true; }); } } </script>

 

原文地址:https://www.cnblogs.com/Strugglinggirl/p/15235873.html