angular - TypeError:无法读取未定义的属性“进程”
问题描述
我有这样的代码问题
什么是最佳实践?谢谢
错误:TypeError:无法读取未定义的属性“进程”
我的组件.ts
ProcessInfo: any | false;
showSaveItems = () => {
this.typeCategory = [];
this.dataTypesLoop = [];
if (this.ProcessInfo.process.data.mortgage.length) {
for (let i = 0; i < this.ProcessInfo.process.data.mortgage.length; i++) {
if (this.ProcessInfo.process.data.mortgage[i].mortgageHeader !== null) {
const findItem = this.categories.find(
obj =>
obj.value ==
this.ProcessInfo.process.data.mortgage[i].mortgageHeader.category
);
}
}
}
this.dataTypes = new Set(this.dataTypesLoop);
return new Set(this.typeCategory);
};
我的组件.html
<li *ngFor="let item of showSaveItems()">
<strong>{{ item.text }}</strong>
</li>
解决方案
您需要先实例化您的参数才能使用它:
ProcessInfo: any | false = false;
使用 ' : ' 你只是设置了他的类型,但他的值是 'undefined' 直到你使用 ' = ';
要使用对象的过程参数,需要验证是否存在:
if (this.ProcessInfo.hasOwnProperty('process')) {
if (this.ProcessInfo.process.data.mortgage.length) {
for (let i = 0; i < this.ProcessInfo.process.data.mortgage.length; i++) {
if (this.ProcessInfo.process.data.mortgage[i].mortgageHeader !== null) {
const findItem = this.categories.find(
obj =>
obj.value ==
this.ProcessInfo.process.data.mortgage[i].mortgageHeader.category
);
}
}
}
}
推荐阅读
- python - 如何在烧瓶表中制作具有相同文本的按钮?
- python - 为我的 shell 中的每个项目获取多个图像 url,但只为我的 csv 中的每个项目导入一个 url
- javascript - Upload a CSV file using AJAX in Django
- planning - PDDL2.1:“总体”的目的
- python - Plotly Sankey:如何避免将所有节点自动放置到右侧?
- vba - 如何从电子邮件线程的原始消息中获取详细信息?
- django - django 中的表单不保存在 Psql 中
- python - 我有一个数据集,其中列是 int 格式,但是当我执行 data.columns.dtype 时,它会显示 dtype('O')。如何将其更改为 int?
- tensorflow - create_pretraining_data.py 在训练自定义 BERT 模型时将 0 条记录写入 tf_examples.tfrecord
- python - 如何加载文本文件并在单个图中绘制多列?