Angular 自定义管道中的角度访问组件属性

Angular 自定义管道中的角度访问组件属性,angular,angular-template,angular-pipe,Angular,Angular Template,Angular Pipe,我目前实现了一个简单的搜索功能,允许用户搜索课程。当前,使用高亮显示管道仅高亮显示来自用户输入的live searchText: <td> <div [innerHTML]= "course.course_title | highlight : searchText"></div> <td> <read-more [text]="course?.description | highlight : searchText" [maxLen

我目前实现了一个简单的搜索功能,允许用户搜索课程。当前,使用高亮显示管道仅高亮显示来自用户输入的live searchText:

<td> <div [innerHTML]= "course.course_title | highlight : searchText"></div> 
<td>  
 <read-more [text]="course?.description | highlight : searchText" [maxLength]="75"> </read-more>
 </td>
  <td>  
    <read-more [text]="course?.keywords | highlight : searchText" [maxLength]="50"> </read-more>
 </td>
但是,我不确定如何从管道中访问this.searchTerms,因为我无法导入它。我可以通过从视图中传递来访问阵列:

 <td> <div [innerHTML]= "course.course_title | highlight : searchTerms"></div> 
 <td>  
     <div [innerHTML]="course.description | highlight : searchTerms">  </div>
</td>
但那时我再也不能得到现场直播了。我如何实现这种方法,或者怎样才能更好地协调两者


谢谢大家!

您可以向管道中添加额外的参数,如下所示:

transform(value: string, args: string, terms: string): any {
<read-more [text]="course?.keywords | highlight : searchText : searchTerms" [maxLength]="50"> </read-more>
并通过模板传递,如下所示:

transform(value: string, args: string, terms: string): any {
<read-more [text]="course?.keywords | highlight : searchText : searchTerms" [maxLength]="50"> </read-more>
这允许我们传递searchText和额外的值

在这里,我创建了一个名为test的额外参数,并传入searchTerms