vue的v-for循环中item中的对象数据的处理怎么挪入computed中

<div class="everyOrder" v-for="everyOrder in allOrderList">
    <p class="orderTit">{{new Date(everyOrder.createdDate).toLocaleDateString().replace(/\//g, "-")+ " " + new Date(everyOrder.createdDate).toTimeString().substr(0, 8)}}</p>
</div>


就是怎么把new Date(everyOrder.createdDate).toLocaleDateString().replace(/\//g, "-")+ " " + new Date(everyOrder.createdDate).toTimeString().substr(0, 8)这个拿到computed里去计算
阅读 5.9k
4 个回答

filter比较适合

<div class="everyOrder" v-for="everyOrder in allOrderList">
 <p class="orderTit">{{everyOrder.createdDate | formatDate}}</p>
</div>


filters: {
  formatDate: function (value) {
    var newDate = new Date(value).toLocaleDateString().replace(/\//g, "-")+ " " + new Date(value).toTimeString().substr(0, 8)
    return newDate
  }
}
<div class="everyOrder" v-for="everyOrder in allOrderList">
    <p class="orderTit">{{everyOrder. createdDate | format}}</p>
</div>

<script>
export default{
    filters: {
        format: function(value) {
            return (
                new Date(value).toLocaleDateString().replace(/\//g, '-') +
                ' ' +
                new Date(value).toTimeString().substr(0, 8)
            );
        }
      }
}
</script>
    <div class="everyOrder" v-for="everyOrder in allOrderList">
        <p class="orderTit">{{getStr}}</p>
    </div>
    
    computed:{
        getStr(){
           var str = 你上面那串代码
           return str
        }
    }

你这用个filter就行了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题