vue中使用filters过滤器截取字符串,截取成功了但还是出现红字报错。

 html:

<text>发表时间:{{detali.add_time | formatDate}}</text>

js:

filters:{
	formatDate(date) {
		return date.substr(0,10)
    }
}

错误:

 在其他组件中没有出现这种情况,唯独这里。

会不会是因为跳转之类的出现了问题?

 

报错是substr没定义可能是你date类型有不是字符串的时候,可以试着判断类型然后转换一下

在filters里的formatDate这个函数打印一下传入的date的值看是不是字符串,如果传入的date值是undefined的时候,发现会返回“Uncaught TypeError: Cannot read property 'substr' of undefined”这种报错

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

封装好了 https://www.npmjs.com/package/code-transfor-text_vue 用于这个那个项目的字典码转汉字挺合适

可能时间传递值为空,导致截取不起效果