i have this syntax on angular(typescript), my problem is when this code runs, its automatically runs clickShowAttachments function, instead i am need to run function when this button clicks...
${data.attachments ? `<button (click)="${this.clickShowAttachments(data.attachments)}">show attachments</button>` : ''}
and when it compiles, if i inspect page i see that: (click)="undefined" ( https://i.stack.imgur.com/6kEin.png )
i tried replace double quote with single quote but nothing happens..
You are getting undefined because this.clickShowAttachments(data.attachments)
returns undefined.
have you tried using
${data.attachments ? `<button (click)="this.clickShowAttachments(data.attachments)">show attachments</button>` : ''}
You can do this in angular2+
<button *ngIf="data?.attachments" (click)="this.clickShowAttachments(data.attachments)">show attachments</button>
guys i fixed it that way
const a = `<button id="btn1">btn text</button>`;
document.getElementById("btn1").addEventListener('click', ()=> this.clickShowAttachments(data.attachments));
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.