【发布时间】:2020-12-01 14:18:13
【问题描述】:
我一直无法找到我在 Angular 项目中收到此错误的原因。
计划包含任务数组。每个任务都包含一个名为 MetaTime 的实体。 MetaTime 有一个字段 TaskStart。
plan.usergen.model.ts
import { Moment } from 'moment';
import {ITaskUsergen} from "app/shared/model/task.usergen.model";
export interface IPlan {
id?: number;
name?: string;
startDate?: Moment;
tasks?: ITaskUsergen[];
}
export class Plan implements IPlan {
constructor(
public id?: number,
public name?: string,
public startDate?: Moment,
public tasks?: ITaskUsergen[],
) {}
}
task.usergen.model.ts
import {ITask, Task} from "app/shared/model/task.model";
import {MetaTime} from "app/shared/model/meta-time.model";
export interface ITaskUsergen extends ITask {
metaTime?: MetaTime;
}
export class TaskUserGen extends Task implements ITaskUsergen {
constructor(public metaTime?: MetaTime) {
super();
}
}
meta-time.model.ts
import { Moment } from 'moment';
export interface IMetaTime {
id?: number;
taskStart?: Moment;
taskDuration?: number;
taskInterval?: number;
taskRepeat?: number;
}
export class MetaTime implements IMetaTime {
constructor(
public id?: number,
public taskStart?: Moment,
public taskDuration?: number,
public taskInterval?: number,
public taskRepeat?: number
) {}
}
完整的错误是:
ERROR in src/main/webapp/app/entities/plan-usergen/plan-detail.component.html:47:46 - error TS2532: Object is possibly 'undefined'.
47 <td>{{ task.metaTime.taskStart }}</td>
~~~~~~~~
src/main/webapp/app/entities/plan-usergen/plan-detail.component.ts:7:16
7 templateUrl: './plan-detail.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component PlanDetailComponent.
【问题讨论】:
-
这是“严格的空检查”,要关闭它,请尝试在 tsconfig.js 文件“strictNullChecks”的“compilerOptions”下添加此选项:true
-
设置为真或假关闭?
-
您不应禁用此功能,而应正确处理可为空的对象。由于这个错误,您可以提前发现错误。
标签: java angular spring jhipster