Angular 如何在循环中创建ngModel?

Angular 如何在循环中创建ngModel?,angular,loops,ngmodel,Angular,Loops,Ngmodel,我的angular应用程序有问题,我想更改ngModel的值,如果该项在许可证中,但我在.ts文件中处于循环中,我认为ngModel接受最后一个测试值,但某些项不在许可证中,我想将ngModel的值设为false .html文件: <div *ngFor="let elt of element"> <input type="checkbox" #checkbox class="input_checkbox" [ngModel]="test" name="itemBoo

我的angular应用程序有问题,我想更改ngModel的值,如果该项在许可证中,但我在.ts文件中处于循环中,我认为ngModel接受最后一个测试值,但某些项不在许可证中,我想将ngModel的值设为false

.html文件:

<div *ngFor="let elt of element">

    <input type="checkbox" #checkbox class="input_checkbox" [ngModel]="test" name="itemBoolean_{{elt.item.id}}" id="custom_item_{{elt.item.id}}" >

</div>

如果绑定的变量也是
数组
,则可以在迭代中使用
索引
编号:

然后您需要更改属性
test
,如下所示:

 test : boolean[] = [] ;

 ngOnInit() {

   this.itemInLicense.forEach((elt, index)=>{
     if(document.getElementById("custom_item_"+elt.itemId)){
       this.test[index] = true ;
    } else {
      this.test[index] = false ;
    });
 }
<div *ngFor="let elt of element; i=index">
  <input type="checkbox" 
         #checkbox 
         class="input_checkbox"
         [ngModel]="test[i]"
         name="itemBoolean_{{elt.item.id}}"
         id="custom_item_{{elt.item.id}}" >

</div> 
并按此处调整HTML:

 test : boolean[] = [] ;

 ngOnInit() {

   this.itemInLicense.forEach((elt, index)=>{
     if(document.getElementById("custom_item_"+elt.itemId)){
       this.test[index] = true ;
    } else {
      this.test[index] = false ;
    });
 }
<div *ngFor="let elt of element; i=index">
  <input type="checkbox" 
         #checkbox 
         class="input_checkbox"
         [ngModel]="test[i]"
         name="itemBoolean_{{elt.item.id}}"
         id="custom_item_{{elt.item.id}}" >

</div> 

如果绑定的变量也是
数组,则可以在迭代中使用
索引
编号:

然后您需要更改属性
test
,如下所示:

 test : boolean[] = [] ;

 ngOnInit() {

   this.itemInLicense.forEach((elt, index)=>{
     if(document.getElementById("custom_item_"+elt.itemId)){
       this.test[index] = true ;
    } else {
      this.test[index] = false ;
    });
 }
<div *ngFor="let elt of element; i=index">
  <input type="checkbox" 
         #checkbox 
         class="input_checkbox"
         [ngModel]="test[i]"
         name="itemBoolean_{{elt.item.id}}"
         id="custom_item_{{elt.item.id}}" >

</div> 
并按此处调整HTML:

 test : boolean[] = [] ;

 ngOnInit() {

   this.itemInLicense.forEach((elt, index)=>{
     if(document.getElementById("custom_item_"+elt.itemId)){
       this.test[index] = true ;
    } else {
      this.test[index] = false ;
    });
 }
<div *ngFor="let elt of element; i=index">
  <input type="checkbox" 
         #checkbox 
         class="input_checkbox"
         [ngModel]="test[i]"
         name="itemBoolean_{{elt.item.id}}"
         id="custom_item_{{elt.item.id}}" >

</div> 


Ok我认为它可以工作,但我有一个循环问题需要解决。Ok@Soleyne完成了示例,但仍然不清楚
element
get它的valueElement是来自我的apiOk的json回答。我认为它可以工作,但我有一个循环问题需要解决。Ok@Soleyne完成了示例,但仍然不清楚
element
获取它的valueElement是一个来自我的api的json回答