簡體   English   中英

moment.updateLocale格式無法分配給angular 4打字稿中的'void'類型的參數

[英]moment.updateLocale formats not assignable to parameter of type 'void' in angular 4 typescript

我目前正在開發一個角度4應用程序,該應用程序需要在此示例“ lll”上使用自定義的瞬間語言環境日期格式(假設不帶年份)。 在以前的angular 1.5應用程序中,我有以下配置:

moment.updateLocale('en', {
  parentLocale: 'en',
  longDateFormat: {
    lll: 'MMM D HH:mm'
  }
});

但是當我嘗試在打字稿(Angular 4)中進行相同的操作時,出現此錯誤:

[ts]類型為'{parentLocale:string; longDateFormat:{lll:字符串; }; }'不能分配給'void |類型的參數。 語言環境規范”。 輸入'{parentLocale:string; longDateFormat:{lll:字符串; }; }”不能分配給“ LocaleSpecification”類型。 屬性'longDateFormat'的類型不兼容。 輸入'{lll:string; }”不能分配給“ LongDateFormatSpec”類型。 類型'{lll:string;中缺少屬性'LTS'。 }'。 (屬性)longDateFormat:{lll:string; }

我對此很陌生,所以...我應該在哪里解決這個問題?

對於將要尋找該問題答案的ppl,您必須在其中傳遞所有longDateFormat,而不僅僅是您要更改的那個。

interface LongDateFormatSpec {
  LTS: string;
  LT: string;
  L: string;
  LL: string;
  LLL: string;
  LLLL: string;

 // lets forget for a sec that any upper/lower permutation will also work

 lts?: string;
 lt?: string;
 l?: string;
 ll?: string;
 lll?: string;
 llll?: string;
}

例如:

moment.updateLocale('en-gb', {
  longDateFormat: {
    LT: 'HH:mm',
    LTS: 'HH:mm:ss',
    L: 'DD/MM/YYYY',
    LL: 'D MMMM YYYY',
    LLL: 'MMM D HH:mm', // Changed here 
    LLLL: 'dddd, D MMMM YYYY HH:mm'
  },
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM