javascript - 将元素的属性传递给 Angular 4/5 中的函数

标签 javascript angular angular5

我想在单击按钮时将元素的属性值传递给函数,这就是我的做法

<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. 我正在传递单选按钮的值(第一个参数)
  2. 传递列表项的 id(第二个参数)
  3. 传递整个列表的引用(第三个参数)

但是,当然它不起作用,错误消息显示无法读取未定义的值(第一个参数),我怀疑参数的其余部分也会发生同样的情况。

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

PS:我是 Angular 东西的新手

最佳答案

您可以在 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 函数中的这些值,看看它们是否已设置。

关于javascript - 将元素的属性传递给 Angular 4/5 中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49091911/

相关文章:

javascript - 尝试在 jQuery 中将类添加到父级时出错

angular - 不能使用 Angular Material 日期范围日期过滤器

Angular、Google map 、如何从 map 获取标记列表并在其上使用 onClick 事件?

java - 为 withCredentials 指定 CORS header : true

angular - 在 Angular 5 应用程序中打开静态 html 页面

angular-cli - Angular5 PWA 不刷新(Service Workers)

javascript - 使用变量缩放图像

javascript - 如何检查实际事件元素的类别

javascript - Nivo Slider (raphaeljs) 的外部控件(下一个/上一个)?

javascript - Angular8 CDK : drag and drop not working on grid