我在ASP.NET Core应用程序中使用angular 2,但这对此问题并不重要。我当前任务的一部分是从服务器获取配置值到我的角度应用程序。
我的设置已经流到了我正在将一个设置写入我的布局的点:
<script>
var BASE_WEB_API_URL = '@appSettings.BaseUrls.Api';
</script>
这是有效的,我通过查看标记验证了这一点。现在,我想要的是创建一个appsettings类,我可以通过DI注入我的服务和需要它的组件。以下是我到目前为止的情况:
import { Injectable } from '@angular/core';
@Injectable()
export class AppSettings {
public BASE_WEB_API_URL: string = window['BASE_WEB_API_URL'];
}
非常简单直接,它应该允许我注入我的服务器变量。但是,当我尝试使用它时出现错误。
错误:未捕获(在承诺中):错误:没有AppSettings的提供者!
所以,我认为我的问题是它没有列在我的app模块的导入中。所以我添加它只是为了得到这个错误:
错误:模块'AppModule'
导入的意外值'AppSettings'
所以,谷歌搜索这个错误导致我发帖说它可能需要在bootstrap部分,所以我尝试了下一步只是为了得到一个新的错误信息。
错误:在AppSettings上找不到指令注释
我对Angular 2非常环保,所以这些错误让我失望。对我做错了什么的想法?
谢谢
答案 0 :(得分:1)
将注射剂放入模块的providers
元数据中,而不是imports
。