json - 在json数据中动态搜索
问题描述
我在这里尝试的是使用我从路由中读取的变量来确定从 json 中使用哪个博客。json 文件是一组部分,其中还包含一组博客。
this.blog=data[this.id1].blogs[this.id2];
如果我将 id1 和 id2 作为 1, 2 放在该行中,则代码运行完美,
我收到一个TypeError:_data_json__WEBPACK_IMPORTED_MODULE_2___namespace[this.id1] is undefined
没有变化的错误。
import { Component, OnInit } from '@angular/core';
import * as data from '../data.json';
import { Router, ActivatedRoute } from '@angular/router';
@Component({
selector: 'app-post',
templateUrl: './post.component.html',
styleUrls: ['./post.component.css']
})
export class PostComponent implements OnInit {
id1;
id2;
sub;
blog;
constructor(
private _Activatedroute: ActivatedRoute,
private _router: Router
) {}
ngOnInit() {
this.sub = this._Activatedroute.paramMap.subscribe(params => {
console.log(params);
this.id1 = Number(params.get('id1'));
this.id2 = Number(params.get('id2'));
this.blog = data[this.id1].blogs[this.id2];
});
}
}
同样在用任何变量替换 id1、id2 时,我得到了同样的错误。
编辑:我改变了import * as data from '../data.json';
,const data=require('../data.json');
我得到了正确的结果。但是,我仍然不明白为什么会发生这种情况,并且想保持同样的问题。
解决方案
尝试使用下面写的行
this.blog = data[+this.id1].blogs[+this.id2];
推荐阅读
- python - 在测试执行期间重定向文件中的所有类型的异常和标准输出日志 - Python 3
- notepad++ - notepad++ 用户定义语言折叠打开和关闭
- i2c - 什么是广播地址,它在 I2C 中的用途是什么?
- python - 为什么 Python 只使用 4% 的 CPU?
- git - 更改推送到 GitHub 的提交...删除文件
- python - 在 Python 中从 .xlsx 文件中读取图表
- json - 使用 JSON 数组访问数据
- php - Imagemagick - 不知道如何解决
- wordpress - 403响应代码与http但不是在wordpress上的https
- python - 分组后如何获取所有行的数据框?