在VUE中使用過濾器(Filters)報[Vue warn]: Error in render: "TypeError: Cannot read property 'toFixed' of undefined"解決辦法


問題背景

在使用VUE過濾器的時候,遇到控制台報錯 : vue.esm.js?efeb:628 [Vue warn]: Error in render: "TypeError: Cannot read property 'toFixed' of undefined"

查到undefined是在過濾器器中報出錯誤的moneyFilters.js

報錯原因是因為過濾器執行了兩次.

第一次是在后台沒有傳遞過來數據的時候,執行了過濾器函數一次.而這個時候並沒有數據,傳遞進過濾器函數的為undefined.報錯是在這個時候產生的

第二次是后台傳遞數據,渲染數據之后,執行了一次過濾器函數.

解決辦法是在過濾器中進行一次判斷傳遞進來的參數.如果傳遞參數為 undefined 或者其他隱式轉換為false的值,跳出函數,不再執行.

代碼

export function toMoney(money) {

    if (!money) {//在這里進行一次傳遞數據判斷.如果傳遞進來的為空值,返回其空字符串.解決其問題
        return '';
    }
    return money.toFixed(2);
}





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM