后我有很难理解为什么Angular2将这些奇怪的属性的应用程序被加载后,HTML元素(例如,所提供的屏幕截图“_ngcontent-CXI-6”)。我用例子提供了DevTools的截图。为什么Angular2添加随机生成属性的HTML元素渲染
从DevTools截图。
该属性始终有固定的前缀“_ngcontent-”。其余部分是随机生成的,但在每个HTML元素上都是一致的。
问题是当我想插入HTML,我在组件产生或从服务器与指令[innerHTML的]检索。在插入HTML代码的情况下,要素没有得到角的属性:
<span [innerHtml]="'<span>some text </span>'"></span>
的[innerHTML的]效果的画面结合如下:
CSS样式问题
当我想要使用注入的CSS文件来设置这些打印元素的样式时,什么都不会发生。 CSS文件插入 “styleUrls” @Component的属性:
@Component({
templateUrl: 'someHtmlTemplate.html',
styleUrls: ['someCSSfile.css'],
})
风格是被注入HTML被格式化成这样:
span[_ngcontent-cxi-6] {
background: pink;
font-size: 20px;
}
在这种情况下,CSS正在寻找跨度具有属性[_ngcontent-CXI-6],从而使其不能样式。
可能的解决方法 这个CSS代码解决的事情
:host >>> h3 { color: red; }
被注射后编译成HTML:
[_nghost-krr-4] > > > span {
background: pink;
font-size: 20px;
}
但它是这么简单的东西疯狂的迂回方案。