Эта проблема аналогична Ионная кнопка, показывающая, что «ion-button» не является известным элементом
Поскольку ionic - это фреймворк поверх angular, angular не может ни анализировать ионные пользовательские элементы, ни применять правильный CSS к нему, потому что синтаксический анализ происходит до добавления innerHTML.
Итак, на этой заметке я бы предложил не создавать элементы в директиве innerHTML
. Пусть использование innerHTML
останется с форматированием текста.
Angular предназначен для помещения html-элементов в html-шаблон (файл .html или свойство template:).
Что бы вы ни делали, вы хотите создать html внутри innerHTML, вы можете поместить его в файл .html следующим образом и просто поместить директиву [ngIf] , чтобы показать или скрыть элемент или, возможно, использовать [ngClass] директива для добавления определенного класса к элементу.
<div>
<button [ngIf]="someTrueCondition; else showTheOtherElement" color='secondary' ion-button>Default</button>
<ng-template #showTheotherElement>
<button color='primary' ion-button>Default</button>
</ng-template>
</div>