- 32
- 0
最近在重构项目,看到了代码里有这样的结构,想进行优化,不知道有哪些合适的写法?
<li class="card-wrap" v-for="(item, idx) in orderList" :key="idx" @click="toDetail(item)">
<div class="card">
<div class="card-hd">
<div class="text-shop">
<span>{{item.info.merchant}}</span>
<span class="text-state text-danger clearfix" v-if="item.status === 1 && parseFloat(item.payment_amount) !== -1">待支付</span>
<span class="text-state" v-else-if="item.status === 3 || item.status === 6 && parseFloat(item.payment_amount) !== -1">已支付</span>
<span class="text-state" v-else-if="item.status === 5 && parseFloat(item.payment_amount) !== -1">已超时</span>
</div>
<div v-if="parseFloat(item.payment_amount) !== -1" class="text-transform font-tp-m">
<span>{{item.payment_type==1 ? parseFloat(item.payment_amount).toFixed(4) : parseFloat(item.payment_amount).toFixed(2) }} {{'paymentTypeName.name'}}</span>
<i class="icon-conversion"></i>
<span>{{item.payment_type==1 ? parseFloat(item.payment_amount).toFixed(4) : (parseFloat(item.payment_amount)/parseFloat(item.ex_rate)).toFixed(8)}} {{item.address.type}}</span>
</div>
<div v-else class="text-transform font-tp-m">
<span>{{parseFloat(item.payment_amount_settled).toFixed(4)}} {{item.address.type}}</span>
</div>
<div class="text-pay-state">
<div>
<p class="desc">已支付</p>
<span class="font-tp-m content">{{parseFloat(item.payment_amount_settled).toFixed(8)}}</span>
<span class="font-tp-m content">{{item.payment_type === 1 ? item.address.type : 'paymentTypeName.name'}}</span>
</div>
<div>
<p class="desc">待支付</p>
<span class="font-tp-m content">{{parseFloat(item.payment_amount_unsettled).toFixed(8)}}</span>
<span class="font-tp-m content">{{item.payment_type === 1 ? item.address.type : 'paymentTypeName.name'}}</span>
</div>
</div>
</div>
</div>
</li>
存在的问题:
- 有几个 v-if v-else-if 里面的条件判断比较多,不直观
- 用到了很多的 parseFloat(number).tofixed(n),并且有的数值还要根据payment_type进行区分,有时候直接显示数值,有时候要根据已有的数值进行计算再展示;并且我看到好些个页面都有这种类似的结构,能不能有个统一一点的优雅写法?
- 还有就是后台开发同事跟我说,不能直接展示这些数据,因为后台返回的数据可能存在负数,如果有负数要统一展示成0
0
打赏
收藏
点击回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
