2016-01-08 27 views
5

ho provato il codice seguente:Come controllare per Impossibile leggere proprietà 'testUndefined' di indefinito in

@Component({ 
    selector: 'test-content', 
    template: ' 
    <div *ngIf="sv.name.notExist.testUndefined != undefined"> 
    {{sv.name.notExist.testUndefined}} 
    ', 
    directives: [FORM_DIRECTIVES] 
}) 

La variabile sv.name.notExist.testUndefined non è definito, ma verifico con * ngIf e il risultato è l'errore con il messaggio: "TypeError:! non è possibile leggere la proprietà 'testUndefined' di indefinito in [sv.name.notExist.testUndefined = undefined in ..."

Ti prego, aiutami a controllare variabile non definita con * ngIf.

+1

Nota veloce, ciò che è undefined nel codice è sv.name.notExist non sv.name.notExist.testUndefined, non si ottiene alcun errore se fosse quest'ultima – Abdulrahman

risposta

14

Penso che si dovrebbe utilizzare l'operatore elvis

<div *ngIf="sv?.name?.notExist?.testUndefined"> 

Questo link potrebbe dare ulteriori dettagli: https://angular.io/docs/ts/latest/guide/template-syntax.html. Vedere la sezione "Elvis Operator (?.) E percorsi di proprietà null".

Spero che ti aiuta, Thierry

Problemi correlati