将元素的属性传递给角度为4/5的函数

问题描述 投票:2回答:1

我想在按钮点击时将元素的属性值传递给函数,这就是我的工作方式

<div>
  <ul #list>
    <li class="radio" *ngFor="let option of options; let j = index" id={{i}}-{{j}} #item>
      <label><input type="radio" #opt  name={{i}} value={{option}} /> {{option}} </label>
    </li>
  </ul>
</div>
<button type="button" (click)='func(opt.value, item.id, list)'>submit</button>
   

我在这做的是

  1. 我正在传递单选按钮的值(第一个arg)
  2. 传递列表项的id(第二个arg)
  3. 传递整个列表的引用(第三个arg)

但当然它没有工作错误消息说无法读取undefined(第一个arg)的值,我怀疑同样的情况也会发生在其余的参数中。

所以我的问题是如何将属性值传递给函数?

PS:我是角色的新手

javascript angular angular5
1个回答
2
投票

您可以在change()上将变量设置为所选选项的值和项目ID,并在单击按钮时将其传递给。

<div>
  <ul #list>
    <li class="radio" *ngFor="let option of options; let j = index" id={{i}}-{{j}} #item>
      <label><input type="radio" #opt name={{i}} value={{option}} (change)="selectedOptionValue=option.value; selectedItemID=item.id" /> {{option}} </label>
    </li>
  </ul>
</div>
<button type="button" (click)='func(selectedOptionValue, selectedItemID, list)'>submit</button>

请务必检查后端func函数中的这些值,看看它们是否已设置。

© www.soinside.com 2019 - 2024. All rights reserved.