поэтому вы пытаетесь динамически добавить некоторый HTML-код в виде innerHTML с тегом привязки (a) и привязкой события к методу внутри вашего ts-файла - в Angular это не сработает.
Вы думаете, что могли бы подойти к этому по-другому и по-прежнему показывать кнопку «Принять T & C»:
Во-первых, полностью удалите тег из вашего json, просто оставьте там текстовое содержимое.
Затем убедитесь, что у вас есть интерполяция ({{}}) или привязка атрибута. Затем сделайте что-то вроде этого:
<message *ngFor="let message of messages" [innerHTML]="message.content"></message>
<button *ngIf="message.termsAndConditions?">Accept T&C</button>
Для этого потребуется добавить флаг в ваш файл json (если это json) или, если это строка, сделать что-то вроде:
<message *ngFor="let message of messages" [innerHTML]="message.content"></message>
<button *ngIf="message.content.match('terms and conditions')">Accept T&C</button>
Исходя из вашего фактического контекста, могут быть и другие способы реализации этого, но в целом я думаю, что подход "innerHTML" с привязкой событий внутри содержимого строки не является хорошей идеей.