html - 如何在 Angular 2 的 ngmodel 上使用二维数组?

标签 html angular multidimensional-array angular2-ngmodel

想知道如何在 ngmodel 中为动态复选框设置二维数组吗?

我有一个带有多个复选框的 super 管理员的 Angular 色和权限设置表单。 enter image description here 如何区分模型名称与 Angular 色 ID 和权限 ID。我需要通过数组中的模型名称传递 Angular 色 ID 和权限 ID。

例如:[(ngModel)]="permission[role.id][per.id]"

有没有办法在 Form 中为 ngmodel 分配 2d 值?

期待尽早回复。

提前致谢。

最佳答案

因为 ngModel 是获得双向绑定(bind)系统的指令。

您可以轻松地执行以下语法:

[(ngModel)]="permission[role.id][per.id]"

其中 permission 是一个空数组,最初定义为:

permission = []

permission = [[]]

您的 permission 变量将是一个多维数组。

在此之后,如果您尝试 ngModel

[(ngModel)]="permission[role.id][per.id]"

它会导致未定义问题,因为 ngModel 不仅从输入中获取值,它还必须显示双向绑定(bind)的工作原理。

为避免因未定义而导致渲染时出现问题,我们必须最初仅将虚拟数据分配给权限数组。

this.permission = new Array(this.numberOfRoles).fill(0);
    for (let j = 0; j < this.numberOfRoles; j++) {
      this.permission[j] = new Array(this.numberOfPermission).fill(0);
    }

这解决了如下未定义的问题

enter image description here

关于html - 如何在 Angular 2 的 ngmodel 上使用二维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41585657/

相关文章:

javascript - 添加内容时如何防止文档自动滚动?

html - 如何从右到左更改特定列表项文本(例如阿拉伯语/希伯来语)?

javascript - 在 Angular 2 中调用异步等待

python - Numpy 有符号的 cumsum 沿轴的最大幅度

Javascript/jQuery 在 Chrome 中完美运行,但在 Firefox 中运行不佳

angular - reCAPTCHA v3 网络密集型 Web 应用程序

angularjs - Angular1 <-> Angular2 Bridge 访问 $rootScope

java - 我有一个自定义对象的二维数组。我必须用 Java 实例化每个实例吗?

java - 2D 数组和 JButton

html - 如何用一个框包围 Font Awesome 加号,使其看起来像一个按钮?