Angular 根据条件导入 json 文件
Angular import json file based on condition
我一直在寻找方法,但找不到路可走。我有 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 中的值与要加载的文件匹配,所以我无法真正预测。我检查的只是是否有价值。如果不是,将使用加载的默认顶部。希望这是有道理的。
我该怎么做?
我认为您应该使用 HttpClient 加载 json 配置。
您可以使用以下方法:
let myConf:any;
this.http.get("your_config.json").subscribe(res=>{this.myConf=res})
尝试使用动态导入:
const data_json = import("../app_data_files/file1.json");
注意:动态导入将 return 一个承诺。您可以使用 async/await 或 .then 来获取 json 对象
我一直在寻找方法,但找不到路可走。我有 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 中的值与要加载的文件匹配,所以我无法真正预测。我检查的只是是否有价值。如果不是,将使用加载的默认顶部。希望这是有道理的。
我该怎么做?
我认为您应该使用 HttpClient 加载 json 配置。
您可以使用以下方法:
let myConf:any;
this.http.get("your_config.json").subscribe(res=>{this.myConf=res})
尝试使用动态导入:
const data_json = import("../app_data_files/file1.json");
注意:动态导入将 return 一个承诺。您可以使用 async/await 或 .then 来获取 json 对象