Ng2 innerHTML 如何允许样式属性? [复制]
Posted
技术标签:
【中文标题】Ng2 innerHTML 如何允许样式属性? [复制]【英文标题】:Ng2 innerHTML How to allow style attribute? [duplicate] 【发布时间】:2017-07-09 14:54:05 【问题描述】:我正在尝试使用 [innerhtml] 在 Angular 2 中呈现 HTML。然而 angular 2 从 html 元素中删除了 style 属性。如何获取呈现的样式?
component.ts
...
content = "<table><tr><td style="width:30%">Hallo</td><td style="width:70%">Welt</td></tr></table>"
---
component.html
<div [innerHTML]="content"></div>
【问题讨论】:
只有样式属性下的样式适用于组件。 【参考方案1】:您可以通过 /deep/
::ng-deep
@Component(
styles: [`
// :host /deep/ td // old
:host ::ng-deep td
width: 30%;
`
)
您也可以禁用组件的样式封装
@Component(
...,
viewEncapsulation: ViewEncapsulation.None
)
但这可能会带来其他缺点,因为样式渗入甚至没有/deep/
渗出的样式。
【讨论】:
这在没有定义宽度的情况下是否通用? “不定义宽度”是什么意思?这是普通的 CSS,它只是添加了/deep/
以跨越组件边界,例如直接子代的 >
。动态添加的 HTML 与来自子组件的 HTML 类似。以上是关于Ng2 innerHTML 如何允许样式属性? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
使用 Angular 2+ [innerHTML] 添加包含样式属性的 html
如何在 ng2-tag-input 中使用自定义样式组件作为标签背景颜色?
Angular2 innerHtml绑定删除样式属性[重复]
如何css样式angular2的Ng2-completer插件输入框和下拉颜色?