首页 > 解决方案 > Angular中单击事件的管道触发器

问题描述

我创建了一个自定义管道,用于按名为 searchterm 的给定术语过滤数据集。我已将其创建为标记。

<ul>
    <li *ngFor="let item of list | searchterm: value">
        Say {{item.title}}
    </li>
</ul>

“值”来自另一个组件的输入元素。每次我更改输入文本时,它都会立即激活管道。只有在单击另一个组件中的按钮时,我才需要激活管道。

到目前为止,我已经创建了这个:

<button (click)="showResult(searchterm)">Search</button>

在组件中:

showResult(strCat:booblean){
  this.strCat = true;
}

现在我坚持走得更远......我该如何管理这个?

标签: angular

解决方案


如果您不想立即应用管道,请不要使用管道。

相反,在单击按钮时执行的函数中过滤列表。

如果您需要在两个组件之间进行通信,请使用此处规定的合适的组件间通信策略:

https://angular.io/guide/component-interaction

我的最爱:https ://angular.io/guide/component-interaction

或者使用ngrx


推荐阅读