Передача индексной переменной в функцию - PullRequest
0 голосов
/ 05 марта 2020

Я использую функцию (set_id) в компоненте следующим образом:

import { Component, OnInit } from '@angular/core';
import { ApiService } from '../api.service';

@Component({
  selector: 'app-nav',
  templateUrl: './nav.component.html',
  styleUrls: ['./nav.component.css']
})
export class NavComponent implements OnInit {
menus;
elementId;
  constructor(private api: ApiService) { }
  ngOnInit() {
    this.api.getMenus().subscribe(res => {this.menus = res});
  }
  set_id(id){
    console.log(id)
  }
}

Я хочу записать 'id', когда пользователь нажимает на каждую кнопку, кнопка Я не уверен, как получить идентификатор передан функции, назначенной кнопке.

Вот что я пробовал, но Angular не может найти параметр 'id' в set_id (id), когда я пишу его так:

<div *ngFor="let menu of menus; index as id">
    <ul>
        <li><button (click)="set_id(id)">{{menu['lesson-name']}}</button></li>
    </ul>
</div>

Как я могу получить доступ к идентификатору из индекса и передать его в функцию set_id в качестве параметра id?

1 Ответ

1 голос
/ 05 марта 2020

Чтобы получить индекс, вы должны получить его как let id = index

<div *ngFor="let menu of menus; let id = index">
    <ul>
        <li><button (click)="set_id(id)">{{menu['lesson-name']}}</button></li>
    </ul>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...