2017-01-21 2 views
0

Есть ли способ использовать совпадение методов в шаблоне. Я имею в виду: Вот часть шаблона, где мне нужно использовать функцию соответствия:Есть ли способ использовать метод сопоставления в шаблоне

<span class="local-text">Text Length: {{textArea.value.length}} (without spaces: {{textArea.value.match(/\S/g).length}})</span> 
     </p> 
     <textarea ref-textarea #textArea [(ngModel)]="str" rows="10"></textarea> 

Мне нужно, чтобы показать длину текста без пробелов. Есть ли способ сделать это в шаблоне?

+0

Я не думаю, что это так, то это будет лучше, чтобы создать трубы и использования, почему вы пытаетесь достичь этого в шаблоне? –

ответ

2

Используя трубку, вы можете сделать это что-то вроде ниже, чтобы достичь результатов

import {Pipe, PipeTransform} from '@angular/core'; 
@Pipe({ 
    name: 'removedspaceslength', 
    pure: false 
}) 
export class RemoveSpacesPipe implements PipeTransform { 
    transform(text: string): number { 
     if (!text) 
      return 0; 
     return text.replace(/ /g, "").length; 
    } 
} 

и использовать его как

<span class="local-text">Text Length: {{text.length}} (without spaces: {{text | removedspaceslength}})</span> 
<textarea ref-textarea [(ngModel)]="text" rows="10"></textarea> 
+0

Почему это возвращает 0, когда transorm возвращает boolean? – misha130

+0

Я обновил его, чтобы вернуть номер. Я скопировал его из своего кода и забыл обновить возвращаемый тип;) –

Смежные вопросы