VUE循环 排序 多条件判断添加样式

1.使用v-for对数据进行渲染并按照语文成绩从高到低进行排序

<div id="sorting">
            <table>
                <tr v-for="(item,index) in sortScore">
                        <td>{{index}}</td>
                        <td>{{item.name}} </td>
                        <td>{{item.age}}</td>
                        <td>{{item.Chinese}}</td>
                        <td>{{item.english}}</td>
                </tr>
             </table>
             <!-- <div>{{sortScore}} </div> -->
        </div>
let b=new Vue({
             el:"#sorting",
             data:{
                score:[
                        {name:'小明', age:10, Chinese:90,english:84},
                        {name:'小点', age:16, Chinese:56,english:80},
                        {name:'小飞', age:15, Chinese:78,english:79},
                        {name:'小况', age:17, Chinese:20,english:84},
                      ],

             },
             computed:{
                  sortScore(){
                           return this.score.sort((a,b)=>{
                                   return b.Chinese-a.Chinese;
                            })
                  }
             }
           })

效果如下:


2.使用v-for渲染列表、:class动态绑定样式、三元表达式判断条件选择绑定的样式


      td{width: 50px; border: 1px solid #2C3E50; text-align: center;}
      .red{color: red;}
      .blue{color: blue;}
<div id="student">
            <table>
                <tr v-for="(item,index) in score">
                        <td>{{index}}</td>
                        <td>{{item.name}} </td>
                        <td>{{item.age}}</td>
                        <td :class="[item.Chinese>=90 ? goodScore : '',item.Chinese<60 ? badScore : '']">{{item.Chinese}}</td>
                        <td :class="[item.english>=90 ? goodScore : '',item.english<60 ? badScore : '']">{{item.english}}</td>
                </tr>
             </table>
</div>
let a=new Vue({
                el:'#student',
                data:{
                   score:[
                           {name:'小明', age:10, Chinese:90,english:94},
                           {name:'小点', age:16, Chinese:56,english:80},
                           {name:'小飞', age:15, Chinese:78,english:58},
                           {name:'小况', age:17, Chinese:20,english:84},
                         ],
                    goodScore:'blue',
                    badScore:'red',

                },

           })

效果如下


 

学习笔记 如有不足 请多指教

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值