2017-09-15 4 views
2

Je vérifie si un élément d'objet imbriqué nommé « jeton » est vide ou non, AngularIDE avec Angular4Angular4 - vérifier si un objet objet imbriqué est vide

if (typeof this.user.data.token !== "undefined") 

ce jette <Cannot read property 'token' of null>

Si Je vérifie nécessairement pour chaque objet imbriqué existant?

+0

vous pouvez utiliser lodash pour vérifier les propriétés imbriquées –

+0

Pouvez-vous faire un exemple? –

+0

vérifier la fonction get lodash dans les documents officiels –

Répondre

0

Vous devez ...

if (this.user && this.user.data && this.user.data.token) { 
} 
0

Toujours garder à l'esprit que non définie et null sont différents, quand vous voyez non défini cela signifie qu'une variable était déclaré mais il n'a aucune valeur et null est un assi réel valeur de gnment. Undefined est également un type et null est un objet. Alors ..

if(!(this.user.data.token == null)); 

devrait fonctionner pour vous, si vous voulez ajouter d'autres conditions justes et l'opérateur et le type || état suivant.

Si vous cherchez à vérifier les objets non définis que vous pouvez faire quelque chose comme

this.user.data.token != undefined && ... 

et ainsi de suite ..