如何在Angular的ngOnInit中调用参数化方法?

时间:2019-05-11 11:47:50

标签: angular angular6

如何在同一组件中的ngOnInit中调用参数化方法。 我在ts文件中定义的html中有一个onclick(p.key)函数,但是我想在ngOnInit中填充它。有可能

文件如下: 1. product-filter.component.html

<div class="list-group">
        <a class="list-group-item list-group-item-action"
        [class.active]="!price" routerLink="/">
          All Price
        </a>
        <a *ngFor="let p of price$ | async" 
        class="list-group-item list-group-item-action"
        routerLink="/" (click)="onClick(p.key)"
        [class.active]="price === p.key">     
              {{p.name}}
        </a>
</div>
  1. product-filter.component.ts
onClick(p) 
{
    if(p == '20 - 30') {
       this.productService.getAll().subscribe(products => {
        this.products = products.filter(product => {
        return product.price >= 20 && product.price <= 30
      });      
    });
} 

现在,我想在ngOnInit()中调用此方法。可能吗?。任何建议都是最欢迎的

3 个答案:

答案 0 :(得分:0)

是的,您可以将函数放在ngOnInit()中并调用它。在这种情况下,您需要将初始参数作为硬编码值传递。

答案 1 :(得分:0)

没有什么可以阻止您从ngOnInit调用它,如下所示:

ngOnInit(){
this.onClick("The initial Id you want to start with");
}

答案 2 :(得分:0)

您可以订阅点击事件和每次点击时调用的方法,

这是按钮的示例,您可以将其放在OnInit

FROM jonasbonno/rpi-grovepi
RUN pip install requests
RUN git clone https://github.com/keyban/fogservice.git #update
ENTRYPOINT ["python"]
CMD ["fogservice/service.py"]