Angular 如何在ngFor循环中向角度点击函数添加参数

Angular 如何在ngFor循环中向角度点击函数添加参数,angular,typescript,Angular,Typescript,这看起来很简单,但不起作用。我正在为一张清单分页。我有一个分页对象,其定义如下: 在my models.ts中: export interface PageLink { displayText: string; pageNumber: number; status: string; } 在我的控制器中: pageLinks: Array<PageLink>; pageLinks:Array; 在我的html中: <a *ngFor="let lin

这看起来很简单,但不起作用。我正在为一张清单分页。我有一个分页对象,其定义如下:

在my models.ts中:

export interface PageLink {
    displayText: string;
    pageNumber: number;
    status: string;
}
在我的控制器中:

pageLinks: Array<PageLink>;
pageLinks:Array;
在我的html中:

<a *ngFor="let link of pageLinks" (click)="togglePage('test')" class="{{link.status}}">{{link.displayText}}</a>
{{link.displayText}
这一切都可以正常工作,但我希望将PageLink对象的pageNumber参数放入togglePage()函数中。然而,这样做:

<a *ngFor="let link of pageLinks" (click)="togglePage('{{link.pageNumber}}')" class="{{link.status}}">{{link.displayText}}</a>
{{link.displayText}
爆炸了。当我这样做时,我的控制台中会出现很多行错误,但是错误的要点是:

得到了期望表达式的插值({{})

为什么会发生这种情况,我如何避免


注意:这是角度5,无需使用插值。无论传递给内部事件属性的是什么,它都将直接根据组件上下文进行计算。
pageNumber
的值将直接传递给
togglePage
函数

(click)="togglePage(link.pageNumber)"

不需要使用插值。无论传递给内部事件属性的是什么,它都将直接根据组件上下文进行计算。
pageNumber
的值将直接传递给
togglePage
函数

(click)="togglePage(link.pageNumber)"

这样就行了。不需要使用插值

  <a *ngFor="let link of pageLinks" 
(click)="togglePage(link.pageNumber)" class="{{link.status}}">{{link.displayText}}</a>
{{link.displayText}

这将起作用。无需使用插值

  <a *ngFor="let link of pageLinks" 
(click)="togglePage(link.pageNumber)" class="{{link.status}}">{{link.displayText}}</a>
{{link.displayText}

试试这个:
(单击)=“切换页面(link.pageNumber)”
试试这个:
(单击)=“切换页面(link.pageNumber)”
就是这样。谢谢我不完全明白为什么这样做,但至少它是这样的。。。(只要系统允许,我会接受你的回答)就这样。谢谢我不完全明白为什么这样做,但至少它是这样的。。。(一旦系统允许,我将接受您的回答)