我有以下代码:
"user_id"
我的目标是为每个元素传递...
<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
,依此类推。我现有的代码导致 Got插值({{}}),其中表达式是错误。
将我的值传递给nameEdit3
的正确方法是什么?
答案 0 :(得分:1)
(click)="myFunction(requestForm.controls['nameEdit' + i].value")
应该做的伎俩
由于内插了事件指令(...)
的双引号,因此{{ ... }}
是不必要的。您还需要将javascript对象标识符[...]
与动态文本一起使用。
最后,如果controls
没有您要尝试解析的名称的密钥,则显然会返回错误。最好让myFunction(...)
管理此案例。
使用stackblitz示例输出值:https://stackblitz.com/edit/angular-whq8ll-od64hx?file=app/slider-overview-example.html