Якорная ссылка не работает из строки JSON в ionic 3 и angular 4: ur "<a (click)='openActionPage()'> Условия использования </a>" - PullRequest
0 голосов
/ 06 сентября 2018

Я использую эту строку в файле JSON.

Для продолжения необходимо согласиться с нашими «условия» и добавление для доступа в веб-интерфейсе с использованием

<message *ngFor="let message of messages" [innerHTML]="message.content">    {{message.content}}</message>

но ссылка openActionPage () не открывается в переднем конце.

Может кто-нибудь подсказать, пожалуйста, как мне это решить? Заранее спасибо

1 Ответ

0 голосов
/ 06 сентября 2018

поэтому вы пытаетесь динамически добавить некоторый 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" с привязкой событий внутри содержимого строки не является хорошей идеей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...