首页 > 解决方案 > 如何检查 get 方法 TypeScript 中的属性值

问题描述

谁能帮我解决 TypeScript 2.3 中的这个问题。

问题:我的后端向我发送了一个值为 00 或 01 的 Json 属性,我需要转换为常规或额外。

我尝试检查属性descViagem的值,并在get方法中返回一个字符串。但返回未定义

  export class InfoViagem {
  descViagem: string;

  public get $descViagem(): string {
      switch (this.descViagem) {
        case "00":
          return "REGULAR";

        case "01":
          return "EXTRA";

        default:
          return "Tipo inválido";
      }
    }
}

//Using in:
    <div class="col-md-2 mb-4">
      <label>Tipo viagem</label>
       <input type="text" [value]="viagem?.descViagem  (ngModel)="viagem.descViagem" class="form-control" disabled>
    </div>

标签: typescript

解决方案


您使用的是通过解析 JSON 创建的对象。这是一个普通的旧 JS 对象。不是InfoViagem. _

InfoViagem如果您使用其构造函数创建一个实例,则只能有一个实例: new InfoViagem()

所以很明显,你会得到未定义,因为$descViagemJSON 中没有,因此通过解析 JSON 创建的 POJO 中没有$descViagem属性。


推荐阅读