2016-12-31 121 views
2

我需要一些幫助。我正在玩Angular2和TypeScript的基礎知識作爲從A1到A2的切換的一部分,因此這裏的某些內容可能會很明顯。你Angular2和TypeScript錯誤「屬性METHOD_NAME在類型'typeof CLASS_NAME'上不存在

我有這樣的情況:。

  1. 的WebPack使用
  2. AppConfigConst持有一些靜態的,應用範圍的配置數據
  3. AppConfigurationInjectable需要AppConfigConst,並公開簡單的API。訪問配置數據。
  4. SelectedLanguageInjectable想對從AppConfigConst使用方法,在這裏我得到這個:

錯誤在[默認] C:_DEV \ XXX \ SRC \程序\共享\選擇語言\選擇,language.injectable .ts:9:46屬性'getSupportedUiLanguages'在'typeof AppConfigurationInjectable'類型上不存在。

enter image description here

+3

首先將代碼粘貼到問題中,而不是截圖。問題是'私人appConfiguration ** = ** AppConfigurationInjectable'。 '='應該是':',因爲'='定義了參數的默認值,而不是它的類型。 –

+1

...和你的'selectedLang'被設置爲一個字符串...不應該是一個數組? – Alex

回答

5

您的構造函數中的錯誤。它應該是:

constructor(private appConfiguration: AppConfigurationInjectable){ 

變化=:

:是在打字稿定義類型=是設定值,你也知道。

+1

具體(在這種情況下)默認函數參數。所以'appConfiguration'變量指向的是AppConfigurationInjectable接口/類本身,而不是一個實例。 – user268396

相關問題