首页 > 解决方案 > Angular - 浏览器无法识别新类,将它们视为“未定义”

问题描述

这是我见过的最奇怪的事情。

我有一个名为“MensajeBloqueo”的 .ts 文件,其中包含此类:

export class MensajeBloqueo {
    idLegacy: string;
    idBloqueo: string;
    idSegmento: string;
    idEtapa: string;
    idEstado: string;
    mensaje: string;
}

这是我今天创建的一个新类,我创建它的方式与我在项目中创建任何其他类的方式相同。

然后,我有一个名为“TrackingProductoComponent”的组件,我在其中声明了这个新类的一个变量以供以后使用,然后我在 ngOnInit 方法中填充了它的几个属性:

import { MensajeBloqueo } from '../shared/models/mensajeBloqueo';

@Component({
    templateUrl: './trackingproducto.component.html',
})
export class TrackingProductoComponent implements OnInit {
     mensaje: MensajeBloqueo = new MensajeBloqueo();
     
ngOnInit(){

 this.mensaje.idBloqueo = "1";
 this.mensaje.mensaje = "TEST";
 console.log(this.mensaje);

}

如果我在 Chrome 上运行它,它会记录以下内容:

Chrome 控制台输出

如您所见,该对象缺少其其余属性(idLegacy、idEstado、idSegmento 等)。就像它是“任何”对象而不是“MensajeBloqueo”对象一样。

当我在浏览器中调试它并将鼠标悬停在“this.mensaje”上时,它会显示为 [[Prototype]] : Object. 将鼠标悬停在“this.mensaje.idBloqueo”属性上会使其显示为“未定义”。

最后一段的插图

VSCode 确实识别了这个类,它没有抛出任何错误,也没有说这个类不存在,这就是我不明白的。

截至目前我无法使用新类,浏览器拒绝承认它的存在。有人现在可能在这里发生什么吗?我现在很茫然。我使用 Angular 12.2.5 和 TypeScript 4.3.5。

标签: angulartypescriptclassbrowserundefined

解决方案


推荐阅读