大佬教程收集整理的这篇文章主要介绍了Angular 2:在ngFor循环中保存变量以便在循环外使用,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
为了更好地查看我的代码,这里是我拥有的for循环的相关部分:
<div *ngFor="let variety of varieties; let i=index"> ... <div class="varietyName"> <a href="#deleteVarietySelling" #varietyTodelete="{{variety.PerProjectVarietyID}}" data-toggle="modal"> <i class="fa fa-minus"></i> </a> </div> </div> </div>
这是我的模态,我想将该变量传递给:
<div class="modal fade alert" id="deleteVarietySelling" tabindex="-1"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-body"> <a href="#" class="close-modal" data-dismiss="modal">×</a> <p class="confirmation-message"> Are you sure you want to delete this variety? </p> <div class="row"> <div class="removeCancel"> <a href="#" class="cancel-button" data-dismiss="modal">Cancel</a> <a href="#" class="remove-button" (click)="removeVariety(#varietyToDelete)">Remove</a> </div> </div> </div> </div> </div> </div>
当我尝试这个时,我收到以下错误:
import { ViewChild } from '@angular/core'; @ViewChild('mymodal') mymodal: any;
你的模态应该如下所示:
<div bsModal #mymodal="bs-modal" class="modal fade alert" id="deleteVarietySelling" tabindex="-1"> ... </div>
然后,在组件中,您可以创建一个方法,在单击时显示模态并传递您单击的值,以便将其存储在变量中,然后将该变量传递给removeVariety():
varietyToRemove: any; public showModal(variety: any): void { this.childModal.show(); this.varietyToRemove = variety; }
然后使用showModal(variety:any)在for循环中显示单击事件上的模态:(不确定是否可以将click事件添加到标记,您可能必须将其更改为按钮或其他内容)
<a href="#deleteVarietySelling" (click)="showModal(variety)"> <i class="fa fa-minus"></i> </a>
最后,您只需在删除按钮的click事件上调用removeVariety(varietyToRemovE):
<a href="#" class="remove-button" (click)="removeVariety(varietyToRemovE)">Remove</a>
以上是大佬教程为你收集整理的Angular 2:在ngFor循环中保存变量以便在循环外使用全部内容,希望文章能够帮你解决Angular 2:在ngFor循环中保存变量以便在循环外使用所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。