2016-06-19 6 views
0

Warum bekomme ich nicht definiert Fehler in meiner Konsole mit diesem Code:Undefinierter Fehler in Umfang

var fromDateData; 

if(!util.isEmpty(formItem.fromDate)){ 
     fromDateData = util.tmpl('{year}-{month}-{day}',{  
     day: ("0" + formItem.fromDate.getDate()).slice(-2), 
     month: ("0" + (formItem.fromDate.getMonth() + 1)).slice(-2), 
     year: formItem.fromDate.getFullYear() 
    }); 
} 

    console.log("customData", fromDateData); 

aber wenn ich die if statement entfernen dann wird es funktionieren:

var fromDateData; 


     fromDateData = util.tmpl('{year}-{month}-{day}',{  
     day: ("0" + formItem.fromDate.getDate()).slice(-2), 
     month: ("0" + (formItem.fromDate.getMonth() + 1)).slice(-2), 
     year: formItem.fromDate.getFullYear() 
    }); 


    console.log("customData", fromDateData); 

Ich brauche das verwenden, if statement. Was habe ich verpasst, weil ich bereits fromDateData als globale Variable deklariert habe. Also sollte es außerhalb der Aussage richtig funktionieren? Bitte helfen und danke im Voraus.

+0

Was ist 'util'? Woher kommt das? – Pointy

+0

warum Leerzeichen in Klammern() 'Jahr: formItem.fromDate.getFullYear()'? try type console.log innerhalb if, Ihre 'console.log' wird von 'var fromDateData' nicht von 'fromDateData' innerhalb 'if' geholt, also 'undefined' – Grisza

+2

@Grisza Spaces sind zwischen ihnen erlaubt und haben keinen Einfluss auf die Bedeutung. –

Antwort

1

Sie erhalten diesen Fehler, da der Wert von (formItem.fromDate) nicht definiert ist, wenn Sie versuchen, darauf zuzugreifen. Sie müssen einen weiteren Check in Ihrer if-Bedingung wie unten hinzufügen und sicherstellen, dass Ihr fromDate einige Werte zur Validierung hat. Hoffe, das wird das Problem lösen.

var fromDateData; 

    if(formItem.fromDate != 'undefined' && !util.isEmpty(formItem.fromDate)){ 
      fromDateData = util.tmpl('{year}-{month}-{day}',{  
      day: ("0" + formItem.fromDate.getDate()).slice(-2), 
      month: ("0" + (formItem.fromDate.getMonth() + 1)).slice(-2), 
      year: formItem.fromDate.getFullYear() 
     }); 
    } 

     console.log("customData", fromDateData);