2016-06-21 22 views
1

Ich verursache ein Rohr:Angular 2, Interpolation HTML

import { Pipe, PipeTransform } from '@angular/core'; 

@Pipe({ 
    name: 'highlight' 
}) 
export class HighlightPipe implements PipeTransform { 
    transform(value: any, args: string): any { 
     let s = value + ''; 
     let startIdx = s.toLowerCase().indexOf(args.toLowerCase()); 
     let tokenLen = args.length; 

     if (startIdx >= 0 && tokenLen > 0) { 
      s = s.substring(0, startIdx) + '<strong>' + s.substring(startIdx, startIdx + tokenLen) + '</strong>' + s.substring(startIdx + tokenLen); 
     } 
     return s; 
    } 
} 

Um wie folgt zu verwenden:

<p>{{ result | highlight : search}}</p> 

Also, wenn das Ergebnis 'Alabama' ist und meine Suche ist 'ba', I das möchte:

Ala ba ma

aber ich habe den hTML-Tag:

Ala<strong>ba</strong>ma 

Wie löst man das?

Antwort