2017-03-06 50 views
2

我正在使用Angular-2-datepicker。一切正常,但每次我嘗試設置[(日期)]屬性,它給了我錯誤。Angular 2 - date.getMonth不是函數

date.getMonth不是一個函數

我查閱了一些資料,發現這可能是因爲我的變量的類型日期的不是,但是我的是,我是對的現在我卡住了,找不到解決方案。

我的HTML:

... 
<material-datepicker dateFormat="DD-MM-YYYY" weekStart="1" [(date)]="definitionDetails.From"></material-datepicker> 
... 

我的模型:

export class ClosingDayDefinition implements Serializable<ClosingDayDefinition> { 

    ID: number; 
    DescriptionID: number; 
    Info: models.DefinitionDetailInfo; 
    Description: models.DefinitionDescription; 
    CodeId: number; 
    From: Date; 
    To: Date; 
    Recurring: boolean; 
    Holiday: boolean; 
    Groups: Array<models.ClosingDayGroup>; 
    TypeName: string; 

我的組件:

... 
public definitionDetails: models.ClosingDayDefinition; 
... 

瓦爾日誌:

enter image description here

回答

4

好像From屬性包含字符串,而不是一個Date對象。

我猜你從某種類型的API得到這個日期字符串,嘗試解析它作爲一個日期,而不是將其存儲立竿見影:

這將工作

new Date('2017-03-08T00:00:00+01:00') 
+0

我對於角2來說,它是非常新的,但是這不是課程的目的嗎?由於我創建了一個'ClosingDayDefinition'類的新實例,如果它不是類型的日期,它不會給我帶來錯誤嗎? – Nicolas

+0

這就是TypeScript的用途,但它只能在編譯之前檢查類型,如果在運行時收到實際數據,它永遠不會知道,您必須確保您期望在您的類中定義的類型相同,並且if它不是相同的類型,相應地進行轉換。 – Amit

+1

是的!這是問題,我收到一個字符串。我現在將其轉換爲日期並解決了問題。謝謝! – Nicolas

相關問題