2017-12-28 3 views
1

Hallo, ich habe Taste zu deaktivieren, wenn i scenariosViewAll.collectionBookObject = {} Array zu gehen, dass diese i-Funktion verwenden unten zurückzukehren ist mein Code:Erste Konsole Fehler für Objekt Rückkehr

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

und in der Steuerung meines code ist:

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

bekommen konsole fehler wie unten und es funktioniert richtig, falsch in meinem code.

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 
+0

'typeof (obj === 'Objekt')' wird immer wieder zurückkehren ' "boolean"' die truthy ist – Andreas

+0

@Andreas was ist dann die Lösung –

+1

die Dokumentation Überprüfen Sie auf der [ 'typeof' __operator __] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof) – Andreas

Antwort

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

vielen Dank –

1

sollten Sie Object Zustand ändern und zusätzliche Bedingung hinzufügen möglich null Werte zu handhaben;

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