angular2 [ngClass]上的管道表达式无效

时间:2017-09-06 09:13:35

标签: angular angular2-pipe

我有一个Pipe来大写动态输入字符串中的第一个字母

@Pipe({
  name: 'capitalize'
})
export class CapitalizePipe implements PipeTransform {

transform(value: string, args: any[]): string {
if (value === null) return 'Not assigned';
return value.charAt(0).toUpperCase() + value.slice(1);
 }
}

管道不接受[ngClass]内部

  

[ngClass] =“data.color | capitalize”> // data.color是json输入 - >不大写输入字符串

<md-input-container>
    <input mdInput placeholder="Severity" value="{{ data.color }}" readonly>
    <md-icon [ngClass]="data.color+''|capitalize"></md-icon>
  </md-input-container>

当我打印为{{data.color |大写}}它工作正常输入=“名称” 打印为“名称”。任何帮助都会很棒。

1 个答案:

答案 0 :(得分:1)

你可以试试这个:

[ngClass]="data.color+'' | capitalize"

而不是:

[ngClass]="data.color | capitalize"

并检查管道是否在模块的声明中声明。 Plunker显示了确切的实施方式。