【问题标题】:ngModel is not working when using in dynamic data scenario?在动态数据场景中使用时,ngModel 不起作用?
【发布时间】:2018-02-23 03:26:24
【问题描述】:

实际上,我正在尝试使用 Angular 4 cli 和 JSON 数组来创建自定义数据表。我已经成功创建了带有动态列和动态行的表。所以,我想通过使用下拉复选框样式来修复表格的过滤列。这是我的代码:

<div class="col-md-12">
    <div class="input-group">
      <div class="input-group-btn" dropdown>
        <button type="button" class="btn btn-primary dropdown-toggle" dropdownToggle>Filter
          <span class="caret"></span>
        </button>
        <div class="dropdown-menu" *dropdownMenu>
          <div class="checkbox" *ngFor="let column of columns, let i = index" >
              <label for="column">
                <input [(ngModel)]="column" type="checkbox" id="column" name="column" value="column" checked="true"> {{column}}
              </label>
            </div>
        </div>
      </div>
    </div>

而我的component.ts文件代码是:

StudentsDetails = [];

  columns: string[] = [];

  constructor(private newService: StudentsService) { }

  ngOnInit() {
    this.newService.fetchData()
    .subscribe(responseStudentsDetails => {
      this.StudentsDetails = responseStudentsDetails;
      this.columns = Object.keys(this.StudentsDetails[0]);
    })
  };

所以,当我尝试调用 [(ngModel)]="column" 时。它向我显示错误,例如:Uncaught (in promise): Error: Cannot assign to a reference or variable!

【问题讨论】:

  • Are You import FormsModule like import { FormsModule } from '@angular/forms';
  • 是的,我是从 FromsModule 导入的。
  • 在您的组件中是否有 column 属性?
  • 是的,我有。但现在我的问题是如何将多个复选框选中的数据绑定到其他组件。帮助解决这个问题。@SalimIbrogimov
  • 下面的答案是对的吧?

标签: angular checkbox dynamic checkboxlist ngmodel


【解决方案1】:

使用*ngFor 定义的变量有一些限制。

您可以使用以下方法解决:

[(ngModel)]="columns[i]"

【讨论】:

  • @VigneshMohanraj 感谢您的编辑。看起来不太对。很高兴听到它对您有用。
  • 实际上您的评论工作正常。但是我想如何将这些选中的数据从复选框绑定到另一个组件。@Gunter Zochbauer
  • 对不起,我不明白你最后的评论。还有什么成分?您可以使用&lt;some-component [myInput]="column[i]" 绑定到@Input() myInput; 或在SomeComponent 中实现ControlValueAccessor 以便能够将其与[(ngModel)]="..." 一起使用(不确定这是您要求的)
  • 当您编辑我的答案时,您将columns 更改为column,这不是我的意图。应该是columns(和s
  • 实际上我需要创建一个新的检查项目数组@Gunter Zochbauer
猜你喜欢
  • 1970-01-01
  • 2018-10-27
  • 1970-01-01
  • 2017-12-01
  • 1970-01-01
  • 2015-09-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多