【发布时间】:2019-10-22 01:32:56
【问题描述】:
我有一个 JSON 文件,我可以从中获取配置以在工具栏中生成一组按钮。
在每条记录中,我存储了每个按钮的信息,以及类、图标……我还想在每个按钮中设置将通过事件(click)触发的方法
如何在视图中生成每个按钮及其点击事件?
它是一个角度组件,它根据从这个JSON 文件中接收到的信息生成一个工具栏
我需要类似的东西:
HTML
<mat-button-toggle-group>
<mat-button-toggle *ngFor="let tool of tools">
<button [click]="tool.click"><i [class]="tool.class"></i></button>
</mat-button-toggle>
</mat-button-toggle-group>
数组(JSON 文件)
tools =
[
{ id: 0, class: 'fas fa-sign-out-alt', click: 'addPizza()'},
{ id: 1, class: 'fas fa-arrow-left', click: 'removePizza()' },
{ id: 2, class: 'far fa-sticky-note', click: 'updateGrid()' }
];
预期:生成一组按钮,每个按钮内都有特定的方法
【问题讨论】:
-
你能改变json源吗?如果没有,它可能会比预期的稍微复杂一些。除此之外,
[click]应该是(click)。 -
我可以修改json源,但是你的意思是通过什么方式修改呢?
-
我建议您不要在
click键上使用字符串,而是引用一个方法(或多个方法),以便点击绑定按预期工作。 -
非常感谢 Adrita Sharma 的帮助,我做了 stackblitz,但它有效,所以我没有与你分享。正如我在回答中所说,如果您生成组件信息并通过 Angular 输入从 JSON 中检索数据,它似乎不起作用......我找到了另一种解决方法
标签: angular button click ngfor