У меня очень странная проблема с правилом css, которое не применяется при вводе в html. Это код, который вставляет html:
decorate(text)
{
return this.sanitizer.bypassSecurityTrustHtml(text.replace('Doe','<b>Doe</b>'));
}
в шаблон:
<h1 [innerHTML]="decorate('JohnDoe')"></h1>
<h1>Jane<b>Doe</b></h1>
Я добавил CSS правило для
h1 { color:#888; }
h1 b {color:#ff0000;}
, но, тем не менее, JognDoe серого цвета, в то время как JaneDoe отображает Доу красным, как и ожидалось. Почему Johns'Doe не отображается красным цветом?
Rendered HTML выглядит следующим образом в инспекторе:
<h1 _ngcontent-c11="">John<b>Doe</b></h1>
<h1 _ngcontent-c11="">Jane<b _ngcontent-c11="">Doe</b></h1>
Для меня нет никаких оснований для Johndoe быть серым ..:
Я собрал небольшую песочницу с вопросом:
https://stackblitz.com/edit/angular-playground-pyjqju