2016-06-21 68 views
1

我創建一個管道:角2,插入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; 
    } 
} 

要使用這樣的:

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

所以,如果結果是 '阿拉巴馬',我的搜索是 'BA',我要這樣:

阿拉BA毫安

但我得到的HTML標籤:

Ala<strong>ba</strong>ma 

如何解決這個問題?

回答