相关疑难解决方法(0)

如何在Angular2 ngSwitch语句中使用typescript枚举值

Typescript枚举似乎与Angular2的ngSwitch指令自然匹配.但是当我尝试在我的组件模板中使用枚举时,我得到"无法读取未定义的属性'xxx'......".如何在组件模板中使用枚举值?

请注意,这与基于枚举(ngFor)的所有值创建html选择选项的方法不同.这个问题是关于ngSwitch基于枚举的特定值.虽然出现了创建枚举类的内部引用的相同方法.

typescript angular

130
推荐指数
6
解决办法
12万
查看次数

在angular2视图模板中传递枚举

我们可以在angular2视图模板中使用枚举吗?

<div class="Dropdown" dropdownType="instrument"></div>
Run Code Online (Sandbox Code Playgroud)

传递字符串作为输入:

enum DropdownType {
    instrument,
    account,
    currency
}

@Component({
    selector: '[.Dropdown]',
})
export class Dropdown {

    @Input() public set dropdownType(value: any) {

        console.log(value);
    };
}
Run Code Online (Sandbox Code Playgroud)

但是如何传递枚举配置?我在模板中想要这样的东西:

<div class="Dropdown" dropdownType="DropdownType.instrument"></div>
Run Code Online (Sandbox Code Playgroud)

什么是最佳做法?

编辑:创建一个例子:

import {bootstrap} from 'angular2/platform/browser';
import {Component, View, Input} from 'angular2/core';

export enum DropdownType {

    instrument = 0,
    account = 1,
    currency = 2
}

@Component({selector: '[.Dropdown]',})
@View({template: ''})
export class Dropdown {

    public dropdownTypes = DropdownType;

    @Input() public set dropdownType(value: any) {console.log(`-- dropdownType: ${value}`);};
    constructor() …
Run Code Online (Sandbox Code Playgroud)

enums angular2-template angular

91
推荐指数
3
解决办法
5万
查看次数

将枚举值传递给角度2分量

我有一个枚举,

并希望从模板传递枚举值。这怎么可能?

export enum FIELDS {
    GENDER = <any>'Gender',
    SALUTATION = <any>'Salutation',
    FIRSTNAME = <any>'First Name',
    LASTNAME = <any>'Last Name',
    EMAIL_ADDRESS = <any>'Email Address',
    COUNTRY = <any>'Country',

}
Run Code Online (Sandbox Code Playgroud)

我的模板。在这里我想传递枚举值

 [ngClass]="{'error':validate(FIELDS.COUNTRY)}" 
Run Code Online (Sandbox Code Playgroud)

//这将引发错误:无法获取未定义或空引用的属性COUNTRY。

我的组件:

@Component({
  selector: 'row-general',
  template: require('./modify-invalid-row-general.component.html'),
  styleUrls: ['./app/nedit/modify-invalid-row/modify-invalid-row.component.css']
})
export class ModifyInvalidRowGeneralComponent {

  @Input() row: UploadRow;
  @Input() columns: ConfigColumn[];

  @Output() validateRow = new EventEmitter<UploadRow>();

  public validate(field: string): boolean {

    let invalidFields: string[] = [];
    if (this.row.invalidFields != null)
      invalidFields = this.row.invalidFields.split(';');
    for (let i = 0; i < invalidFields.length; …
Run Code Online (Sandbox Code Playgroud)

typescript angular2-template angular

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

标签 统计

angular ×3

angular2-template ×2

typescript ×2

enums ×1