Как применить трубу на formcontrolname в угловых 2 - PullRequest
0 голосов
/ 08 июня 2018

У меня есть текст ввода типа, который отображает значение, используя formControlName.Я написал трубу для форматирования значения.Как я могу применить эту трубу (testpipe) на formControlName.Я прочитал здесь , что вы не можете применить трубу непосредственно к тексту ввода типа.

@Pipe({ name: 'testPipe' })
export class TestPipe implements PipeTransform {
public transform(value: string): string {
   //some logic
    return value;

  }
}

Как я могу применить эту трубу

<input tabindex="1" type="text" class="form-control-style" 
formControlName="abc" id="abc" name="abc" 
readonly >

Ответы [ 2 ]

0 голосов
/ 08 июня 2018

Вам нужно «шаблонное выражение».Из документации Angular:

Выражение шаблона создает значение.Angular выполняет выражение и назначает его свойству цели привязки;целью может быть элемент HTML, компонент или директива.

Интерполяционные скобки в {{1 + 1}} окружают выражение шаблона 1 + 1.

В вашем случае создайте шаблонное выражение, используя ваш пользовательский канал:

<input tabindex="1" type="text" class="form-control-style" formControlName="{{'abc' | testPipe}}" id="abc" name="abc" readonly >
0 голосов
/ 08 июня 2018

Вы должны иметь возможность использовать трубу, используя двойные фигурные скобки.Вот так:

<input tabindex="1" type="text" class="form-control-style" 
  formControlName="{{'abc' | testPipe}}" id="abc" name="abc" readonly >

Демо

...