从配置文件angular2加载数据



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

我不知道如何在Angular2中创建一个配置文件。我试着查找关于如何创建和使用配置文件的链接,但我发现它适用于Java和C#。它存在于Angular2吗?

您可以为此使用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());
  }
}

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

  • angular2引导程序,使用来自ajax调用的数据

您不能在Angular中创建文件。浏览器中的角度管路和浏览器限制对本地文件系统的访问。

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

当您想要编辑GUI配置时,您只有两个选择:

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

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

最新更新