1. 程式人生 > >vue 前端對null的處理,專案中使用v-if判斷陣列長度是,length報錯?

vue 前端對null的處理,專案中使用v-if判斷陣列長度是,length報錯?

說明:以前做伺服器開發的時候,前端人員總是說,不要傳null過來,不要傳null過來,傳“”空字串過來都可以。當時就想,為啥不能傳null,你前端做下判斷不就行了嗎。

沒想到現在自己既開發前端,又開發後臺,就遇到了這個問題。

其實真的就是坐下 !=null就可以了。

例子

 

<span>{{changeRemarkLength(scope.row.remark)}}</span>

<script>
computed:{
    changeRemarkLength(){
                return function (text) {    
                    if(text.length > 14){ 
                        return text.slice(0,14)+"...";
                    }else{
                        return text;
                    }
                }
            },
}
</script>

在vue中用一個計算屬性改變  remark:備註  文字的顯示格式。如果字元長度大於14,之後的字元用。。。t代替。

但是如果後臺傳的是  remark為null,那這裡就會報 : v-if判斷陣列長度是,length報錯

[Vue warn]: Error in render: "TypeError: Cannot read property 'length' of null"

解決:在判斷之前在判斷下 !=null就行了

<script>
        changeRemarkLength(){
                return function (text) {
                    if(text!=null && text.length > 14){ 
                        return text.slice(0,14)+"...";
                    }else{
                        return text;
                    }
                }
        },
</script>