簡體   English   中英

獲取對象返回的控制台錯誤

[英]Getting console error for object return

嗨,我必須禁用按鈕,如果我得到 scriptsViewAll.collectionBookObject ={} 數組,為此我使用函數返回下面是我的代碼:

  <button" ng-disabled="scenariosViewAll.isSetDisable(scenariosViewAll.collectionBookObject)">Create Book from Collection</button>

在控制器中我的代碼是:

 function isSetDisable(obj) {
           return typeof(obj === 'Object') && Object.keys(obj).length === 0 ? true : false;
        }

收到如下控制台錯誤並且它工作正常,我的代碼中有任何錯誤。

lib.min.js:3762 TypeError: Cannot convert undefined or null to object
    at Function.keys (<anonymous>)
    at scenariosViewAllController.isSetDisable (app.min.js:29729)
    at fn (eval at compile (lib.min.js:3876), <anonymous>:4:415)
    at m.$digest (lib.min.js:3787)
    at m.$apply (lib.min.js:3790)
    at lib.min.js:3803
    at e (lib.min.js:3690)
    at lib.min.js:3693

您應該更改Object條件並添加額外的條件來處理可能的null值;

 function isSetDisable(obj) {
           return obj != null && typeof(obj) == typeof({}) && Object.keys(obj).length === 0 ? true : false;
        }
function isSetDisable(obj) {
           return typeof(obj) === 'object' && Object.keys(obj).length === 0 ? true : false;
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM