Css 在RC.1中,某些样式可以';不能使用绑定语法添加

Css 在RC.1中,某些样式可以';不能使用绑定语法添加,css,angular,Css,Angular,风格像 背景 更新(2.0.0最终版) 从'@angular/core'导入{Pipe,PipeTransform}; 从“@angular/platform browser”导入{domsanizer}; @管道({name:'safeHtml'}) 导出类SafeHtml实现了PipeTransform{ 构造函数(私有sanitizer:DomSanitizer){} 转换(html){ 返回此.sanitizer.bypassSecurityTrustStyle(html); //返回此

风格像

背景
更新(2.0.0最终版)

从'@angular/core'导入{Pipe,PipeTransform};
从“@angular/platform browser”导入{domsanizer};
@管道({name:'safeHtml'})
导出类SafeHtml实现了PipeTransform{
构造函数(私有sanitizer:DomSanitizer){}
转换(html){
返回此.sanitizer.bypassSecurityTrustStyle(html);
//返回此.sanitizer.bypassSecurityTrustHtml(html);
//返回此.sanitizer.bypassSecurityTrustScript(html);
//返回此.sanitizer.bypassSecurityTrustUrl(html);
//返回此.sanitizer.bypassSecurityTrustResourceUrl(html);
}
}
另见

更新(2.0.0最终版)

从'@angular/core'导入{Pipe,PipeTransform};
从“@angular/platform browser”导入{domsanizer};
@管道({name:'safeHtml'})
导出类SafeHtml实现了PipeTransform{
构造函数(私有sanitizer:DomSanitizer){}
转换(html){
返回此.sanitizer.bypassSecurityTrustStyle(html);
//返回此.sanitizer.bypassSecurityTrustHtml(html);
//返回此.sanitizer.bypassSecurityTrustScript(html);
//返回此.sanitizer.bypassSecurityTrustUrl(html);
//返回此.sanitizer.bypassSecurityTrustResourceUrl(html);
}
}
另见


绕过消毒剂信任任何内容可能是一个安全问题。由于Angular不是一个专门的消毒库,所以它对可疑内容过于热心,不愿承担任何风险。例如,它几乎删除了所有属性。您可以将消毒委托给一个专用的库-domprify。这是我制作的一个包装器库,可以轻松地将DOMPrify与Angular一起使用

它还有一个管道,用于以声明方式清理HTML:


需要记住的一件事是,domprify非常适合清理HTML/SVG,但不适合清理CSS。因此,您可以使用提供商的CSS消毒剂来处理CSS:

从'@angular/core'导入{NgModule,ɵu sanitizeStyle};
从'@tinkoff/ng domprify'导入{SANITIZE_STYLE};
@NGD模块({
// ...
供应商:[
{
提供:消毒式,
使用价值:ɵɵu消毒液风格,
},
],
// ...
})
导出类AppModule{}

它是内部的-hense
ɵ
前缀,但这也是Angular团队在他们自己的软件包中使用它的方式。

绕过消毒剂信任任何内容可能是一个安全问题。由于Angular不是一个专门的消毒库,所以它对可疑内容过于热心,不愿承担任何风险。例如,它几乎删除了所有属性。您可以将消毒委托给一个专用的库-domprify。这是我制作的一个包装器库,可以轻松地将DOMPrify与Angular一起使用

它还有一个管道,用于以声明方式清理HTML:


需要记住的一件事是,domprify非常适合清理HTML/SVG,但不适合清理CSS。因此,您可以使用提供商的CSS消毒剂来处理CSS:

从'@angular/core'导入{NgModule,ɵu sanitizeStyle};
从'@tinkoff/ng domprify'导入{SANITIZE_STYLE};
@NGD模块({
// ...
供应商:[
{
提供:消毒式,
使用价值:ɵɵu消毒液风格,
},
],
// ...
})
导出类AppModule{}

它是内部的-hense
ɵ
前缀,但这就是Angular团队在他们自己的包中使用它的方式。

另请参见管道是一个好主意。非常感谢。出于某种原因,当我尝试使用此服务时,依赖项注入不起作用。我得到的不是服务实现,而是抽象服务(它是一个空对象)。你知道为什么会这样吗?我遗漏了什么吗?@yarons你能不能创建一个新问题,并添加一些代码来演示你实际上在做什么。如果可能的话,一个可以复制的Plunker。@SrAxi你是对的。那时候,它工作得很好,没有也看到管道是一个伟大的想法。非常感谢。出于某种原因,当我尝试使用此服务时,依赖项注入不起作用。我得到的不是服务实现,而是抽象服务(它是一个空对象)。你知道为什么会这样吗?我遗漏了什么吗?@yarons你能不能创建一个新问题,并添加一些代码来演示你实际上在做什么。如果可能的话,一个可以复制的Plunker。@SrAxi你是对的。那时候,它也很好地工作