宁波网站建设详细策划友妙招链接怎么弄
vue v-for 获取了一个时间戳, 然后加过滤器, 变成了NaN-NaN-NaN,不加过滤器,能够正常显示出来。这个什么原因
后台获取了一个数据,v-for循环显示出了 ws.craeateTime 是一个13位的毫秒数,formatDate是过滤器
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
<div v-for=" ws in wmessage" class="wmessageBoxTop"><div class="wmessageBoxTopleft"><p>警告</p></div><ul class="wmessageBoxTopright"><li><p>未处理</p></li><li class="wmessageBoxTopTime"><div><p>{{ws.createTime | formatDate}}</p><p>>>></p></div></li></ul>
</div>
选择器
filters: {formatDate: function (value) {var date = new Date(value);//时间戳为10位需*1000,时间戳为13位的话不需乘1000var Y = date.getFullYear() + '-';var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';var D = date.getDate() + ' ';var h = date.getHours() + ':';var m = date.getMinutes() + ':';var s = date.getSeconds();return Y+M+D+h+m+s;}},
解决方案
formatDate: function (value) {var val = JSON.parse(value)var date = new Date(val);//时间戳为10位需*1000,时间戳为13位的话不需乘1000var Y = date.getFullYear() + '-';var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';var D = date.getDate() + ' ';var h = date.getHours() + ':';var m = date.getMinutes() + ':';var s = date.getSeconds();return Y+M+D+h+m+s;
}