angular - 如何在Angular 2+的属性/属性绑定中放置一个变量?
问题描述
我正在尝试从 Angular Material 动态构建一些日期选择器。
Angular Material 中给出的示例代码是这样的:
<input [matDatepicker] = "myDatepicker">
<mat-datepicker-toggle [for] = "myDatepicker"></mat-datepicker-toggle>
<mat-datepicker #myDatepicker></mat-datepicker>
现在我的问题是我想将整个代码块包装在一个中*ngFor
并让它重复多次。因此,不是#myDatepicker
我将其命名为循环的索引在#myDatepicker{{i}}
哪里。我现在的问题是如何将该索引放入零件中?i
*ngFor
i
[for] = "myDatepicker"
我试过[for] = "myDatepicker{{i}}"
了,它给出了一个错误:
模板解析错误:解析器错误:得到插值({{}}),其中表达式是预期的。
我也尝试过for = "myDatepicker{{i}}"
,但这似乎也不起作用,即使没有错误。
解决方案
目前,对此没有直接支持,只有一些解决方法。社区已请求此功能 - https://github.com/angular/angular/issues/33233,您可以在其他成员关于 Stack Overflow 的问题中找到一些解决方案 - ngFor 中的动态模板引用变量(Angular 2)
这两个链接都提供了一些解决方案,但实际上我认为这是一个缺失的功能。