2016-12-31 93 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

相关问题