从配置文件angular2加载数据

时间:2016-05-03 08:08:25

标签: typescript angular configuration-files

我创建了一个用于从远程服务器检索数据的GUI。现在我想尝试将此GUI的设置保存到配置文件中,以便可以更改文件设置。

我不知道如何在Angular2中创建配置文件。我试图查看如何创建和使用配置文件的链接,但我发现它只用于Java和C#。它是否存在于Angular2中?

3 个答案:

答案 0 :(得分:8)

您可以使用JSON配置文件并使用HTTP加载它。在这种情况下,您可以异步引导应用程序以等待加载此配置数据。这是一个示例:

let appProviders = [ HTTP_PROVIDERS, ConfigurationService ];

var app = platform(BROWSER_PROVIDERS)
  .application([BROWSER_APP_PROVIDERS, appProviders]);

let service = app.injector.get(ConfigurationService);
service.getConfiguration().flatMap((configuration) => {
  var configurationProvider = new Provider('configuration', { useValue: configuration });
  return app.bootstrap(AppComponent, [ configurationProvider ]);
}).toPromise();

ConfigurationService类可能是这样的:

@Injectable()
export class ConfigurationService {
  constructor(private http:Http) {
  }

  getConfiguration() {
    return this.http.get('config.json').map(res => res.json());
  }
}

有关详细信息,请参阅此问题:

答案 1 :(得分:-1)

您无法在Angular中创建文件。 Angular在浏览器中运行,浏览器限制对本地文件系统的访问。

您想要的是将数据发送到服务器,以便服务器为客户端创建文件。

答案 2 :(得分:-2)

如果您想编辑GUI配置,您只有两个选择:

  • 将设置存储在服务器端并提供检索和保存机制,即:a /设置REST端点,用于存储PUT上的更改并在GET上检索配置。

  • 使用localStorage或IndexedDB在客户端存储。这种方法的明显缺点是设置将在创建它的机器/浏览器中被隔离。如果用户从其他设备登录,则无法访问。