jquery 有選擇器可抓取元素內特定標籤的值,像下面可能是$('form').attr('tag');
<form [formGroup]="from" (submit)="Submit()" tag="{{value}}">
angular用formGroup在送出時觸發(submit)
,有辦法在Submit()
裡面去吃tag
得值嗎。
也可以用Submit(value)
直接塞value
但發現ngFor去開多個form裡面放的value似乎會有問題。
<div *ngFor="let item of items">
<form [formGroup]="from" (submit)="Submit(item.value)">
</form>
</div>
item.value
在Submit()
接收都是同一個值,但顯示在前台都是正常的
另外發現tag="{{item.value}}"
好像不行,id={{item.value}}
有真實存在的標籤才行,有其他方式賦予值嗎
如果要給自定義的attribute,你可以這麼做
<div [attr.tag]="value"></div>
value = 'Hi I am tag';
<div tag="Hi I am tag"></div>
感謝大大,那component該怎麼取得[attr.tag]的值
在Angular裡面我們通常不直接使用attr來做操作,建議使用@Input() 來取得參數,不過如果你真的想取得參數的話,可以使用@Attribute
來取得,
可以參考Kevinyang大大的文
https://blog.kevinyang.net/2018/01/31/angular-attribute/
詳細可以看另一篇
https://netbasal.com/getting-to-know-the-attribute-decorator-in-angular-4f7c9fb61243
因為您這樣的情況是ngFor多個表單
在任一表單中送出值都會觸發submit()
表單或許該拆開
能不能用在 formControlName上用ngFor
submit就不用那麼複雜的方式處理
當然還是有解啦...如果硬要這樣寫的話