Angular中NgFor遍历li时,如何触发更新调用并传递countryCode.Display值
解决Angular下拉列表点击时正确传递countryCode.Display值的问题
你当前代码的问题在于调用updateCountryCode时,把countryCode.Display用单引号括起来了,这会导致传递的是字符串'countryCode.Display',而不是遍历出来的每个countryCode对象的Display属性实际值。
只需要去掉单引号,直接在模板表达式里传入变量即可:
<div class="dropdown"> <button class="btn btn-block dropdown-toggle dropdownlistwifi form-control" type="button" data-toggle="dropdown">{{ SelectedCountryCode }}</button> <ul class="dropdown-menu dropdownList"> <li *ngFor="let countryCode of AllEuCountryCodeValues"><a (click)="updateCountryCode(countryCode.Display)">{{countryCode.Display}}</a></li> </ul> </div>
如果你的updateCountryCode方法需要用到整个countryCode对象的其他属性,也可以直接传递整个对象:
<li *ngFor="let countryCode of AllEuCountryCodeValues"><a (click)="updateCountryCode(countryCode)">{{countryCode.Display}}</a></li>
然后在组件类里的方法接收这个对象即可:
updateCountryCode(countryCode: YourCountryCodeType) { // 使用countryCode.Display或其他属性 }
内容的提问来源于stack exchange,提问作者Lucifer
相关产品推荐
相关产品推荐

