Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角传递onclick值_Angular_Typescript - Fatal编程技术网

Angular 角传递onclick值

Angular 角传递onclick值,angular,typescript,Angular,Typescript,我有很多年的链接,如下所示: <div class="header-years-container default-color"> <a class="years-items" *ngFor="let year of yearsLink;" [ngClass]="{'active': selectedYear === year}" (click)="onSelectYear($event.target.innerText)">

我有很多年的链接,如下所示:

<div class="header-years-container default-color">
              <a class="years-items"  *ngFor="let year of yearsLink;" [ngClass]="{'active': selectedYear === year}" (click)="onSelectYear($event.target.innerText)">
                  {{ year }}
                </a>
            </div>
ngOnInit() {
    this.yearsLink = [...new Set(this.absenceWidgetService.getAbsencesData().map(item => item.year))];
    this.selectedYear = this.yearsLink[0];

    this.absences = this.absenceWidgetService.getAbsencesData(this.selectedYear)
  }

onSelectYear(year) {
    this.selectedYear = year;
    this.absences = this.absenceWidgetService.getAbsencesData(this.selectedYear);
  }
当用户单击事件时,如何在GetAbscenceData方法中传递selectedYear的每次正确值?目前我总是有默认值


谢谢。

您不需要使用
$event
,您可以直接将
年份作为函数中的参数传递

<div class="header-years-container default-color">
     <a class="years-items"  *ngFor="let year of yearsLink;" [ngClass]="{'active': selectedYear === year}" 
     (click)="onSelectYear(year)">{{ year }}</a>
</div>

{{year}

你这样试过了吗

HTML:

<div class="header-years-container default-color">
    <a class="years-items"  *ngFor="let year of yearsLink;" [ngClass]="{'active': selectedYear === year}" (click)="onSelectYear(year)">
        {{ year }}
    </a>
</div>

我已经解决了在移动数据源属性填充事件方法时的问题。ngOnInit()中有此属性的默认值,并为每个单击事件传递一个新值

看起来是这样的:

<div class="header-years-container default-color">
              <a class="years-items"  *ngFor="let year of yearsLink;" [ngClass]="{'active': selectedYear === year}" (click)="onSelectYear($event.target.innerText)">
                  {{ year }}
                </a>
            </div>
ngOnInit() {
    this.yearsLink = [...new Set(this.absenceWidgetService.getAbsencesData().map(item => item.year))];
    this.selectedYear = this.yearsLink[0];

    this.absences = this.absenceWidgetService.getAbsencesData(this.selectedYear)
  }

onSelectYear(year) {
    this.selectedYear = year;
    this.absences = this.absenceWidgetService.getAbsencesData(this.selectedYear);
  }

它不满足。同样的事情。不要传递新值selectedYear only default。