最近在渲染图片时遇到了一个问题,页面上只需要使用一张图片作为封面,而后台返回的是字符串形式的图片组,于是准备用filters去筛选一下,提取图片组的第一张图

filters:{
          filtertu:function(res){
            communityimg=res.split(",")[0]
            console.log(communityimg);
            return communityimg;
          }
        },

结果程序就报错了

TypeError: Cannot read property 'split' of undefined at vue.js : 6

当时就很困惑,split()怎么会报错呢,尝试了几种方法都无果后,我看到有人说可能是它在某个状态下值为undefined,于是我测试了一下值为undefined时的结果

var str=undefined
console.log(str.split(","))

然后程序报错

"Uncaught TypeError: Cannot read property 'split' of undefined"

于是我将源程序改成了

filters:{
          filtertu:function(res){
            communityimg=(res||'').split(",")[0]
            console.log(communityimg);
            return communityimg;
          }
        },

果然不报错了~~

Logo

前往低代码交流专区

更多推荐