我有以下代码:
...
<tr ngFor= "let i = index">
<myCustomElement myName="{{'nameEdit'+i}}">
<button
<--This is where I get the "Got interpolation ({{}}) where expression was expected" error-->
(click)="myFunction(requestForm.controls.'nameEdit'{{i}}.value)">
</button>
</myCustomElement>
</tr>
...
我的目标是传递到myFunction
的值nameEdit
对每个元素(因此这将是nameEdit1
,nameEdit2
,nameEdit3
等。我的现有代码的结果到一个GOT插值({{}}),其中表达,预期误差。
将我的价值传递给的正确方法是myFunction
什么?
(click)="myFunction(requestForm.controls['nameEdit' + i].value")
应该做的伎俩
由于事件指令的双引号(...)
是内插的,因此{{ ... }}
是不必要的。您还需要[...]
在动态文本中使用 javascript 对象标识符。
最后,如果controls
没有您尝试解析的名称的键,这显然会返回错误。最好的做法是myFunction(...)
管理这个案例。
输出值的工作 stackblitz 示例:https ://stackblitz.com/edit/angular-whq8ll-od64hx?file=app/slider-overview-example.html
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句