基于条件的角度导入json文件

时间:2019-04-11 08:44:07

标签: angular angular5

我一直在寻找方法,但找不到路。我有4-5个json文件,它们具有相同的结构,但所有值都不同。基于存储在localStorage中的值,我想加载适当的json。目前,我在顶部加载文件:

import * as data_json from "../app_data_files/file.json";

我尝试做。例如根据这种情况,导入文件1

if ( 1 ==1){
    import * as data_json from "../app_data_files/file1.json";
 }

但是打字稿抱怨一个导入语句只能在模块或命名空间中发生。

localstarge中的值与要加载的文件匹配,因此我无法真正预测。我要检查的只是是否有价值。如果不是,将使用默认的最上面的一个。希望有道理。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

尝试使用动态导入:

const data_json = import("../app_data_files/file1.json");

注意:动态导入将返回一个承诺。您可以使用async / await或.then来获取json对象

答案 1 :(得分:0)

我认为您应该使用HttpClient加载json配置。

您可以使用以下方法:

let myConf:any;
this.http.get("your_config.json").subscribe(res=>{this.myConf=res})