相关疑难解决方法(0)

将int转换为Typescript中的枚举字符串

我从RESTful服务获得以下数据:

[
  {
    "id": 42,
    "type": 0,
    "name": "Piety was here",
    "description": "Bacon is tasty, tofu not, ain't nobody like me, cause i'm hot...",
  }...
Run Code Online (Sandbox Code Playgroud)

我正在使用这个类进行映射:

export enum Type {
  Info,
  Warning,
  Error,
  Fatal,
}


export class Message{
  public id: number;
  public type: Type:
  public name: string;
  public description: string;
}
Run Code Online (Sandbox Code Playgroud)

但是当我在Angular2中访问'type'时,我只得到一个int值.但是我想获得一个字符串值.

例如:

'message.type=0'
{{message.type}} => should be Info
'message.type=1'
{{message.type}} => should be Warning
Run Code Online (Sandbox Code Playgroud)

javascript enums typescript angular

32
推荐指数
2
解决办法
5万
查看次数

Angular2从HTML模板访问全局变量

我有一个全局变量来存储这样的国家/地区列表:

export var COUNTRY_CODES = ["AD", "AE", "AF" /* and more */];
Run Code Online (Sandbox Code Playgroud)

在我的一个组件中,我使用普通的import语句导入了变量

import { COUNTRY_CODES } from "../constants";
Run Code Online (Sandbox Code Playgroud)

我可以在组件代码中自由访问这个全局变量,但是在HTML模板上无法实现这样的功能:

<option *ngFor="let countryCode of COUNTRY_CODES" [value]="countryCode">{{countryCode | countryName}}</option>
Run Code Online (Sandbox Code Playgroud)

我可以通过定义局部变量将全局变量传递给组件,并在初始化期间为其分配全局变量.

ngOnInit() {
  this.countryCodes = COUNTRY_CODES;
}
Run Code Online (Sandbox Code Playgroud)

并更改ngFor此局部变量的to循环以使其工作.

我的问题:这是正确的方法吗?每次我想在模板中使用全局变量时,我都不太习惯定义桥接变量.

angular

27
推荐指数
1
解决办法
2万
查看次数

标签 统计

angular ×2

enums ×1

javascript ×1

typescript ×1