[英]How to pass values as parameters to a function call inside onclick in Angular2 without ngClick?
Angular2:我試圖將*ngFor
循環中的值作為參數傳遞給我的錨標記上的(click)
屬性(因為出於安全原因不允許在onclick上調用函數)事件。
模板代碼:
<div *ngFor='let artist of artists'>
<a (click)="alert({{artist.artist_id}})" href="#">{{artist.artist_name}}</a>
</div>
編譯時間錯誤:
Got interpolation ({{}}) where expression was expected in [alert({{artist.artist_id}})]
問題:
如何將藝術家的值傳遞給函數調用(click)
?
任何/所有幫助表示贊賞! :)
在您的情況下,您不需要雙花括號,因為您將變量傳遞給事件綁定單擊屬性中的函數,因此您可以刪除這些大括號,它將按預期工作:
<div *ngFor='let artist of artists'>
<a (click)="alert(artist.artist_id)" href="#">{{artist.artist_name}}</a>
</div>
根據相關文檔 ,您只需在HTML元素標記之間和屬性賦值中插入值時使用插值(不要與事件/屬性綁定混淆)。
例如,您需要對此直接src
屬性賦值使用插值,否則該值將被解釋為字符串:
<img src="{{pathUrl}}" />
但是,如果您要使用屬性綁定 (即[src]
而不是src
),它將被視為變量並且不需要插值:
<img [src]="pathUrl" />
這同樣適用於您的情況下的事件綁定 。
換句話說,正如Günter在上面的評論中所說 ,你永遠不需要使用事件/屬性綁定(即, ()
/ []
/ [()]
)和變量插值(即雙花括號) , {{}}
)。
只需刪除插值並調用alert(artist.artist_id)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.