En RC.1 algunos estilos no se pueden agregar usando syntax de enlace

Estilos como

Background
<div [style.transform]="rotate(7deg)"

ya no se agregan

actualización (2.0.0 final)

 import { Pipe, PipeTransform } from '@angular/core'; import { DomSanitizer } from '@angular/platform-browser'; @Pipe({name: 'safeHtml'}) export class SafeHtml implements PipeTransform { constructor(private sanitizer:DomSanitizer){} transform(html) { return this.sanitizer.bypassSecurityTrustStyle(html); // return this.sanitizer.bypassSecurityTrustHtml(html); // return this.sanitizer.bypassSecurityTrustScript(html); // return this.sanitizer.bypassSecurityTrustUrl(html); // return this.sanitizer.bypassSecurityTrustResourceUrl(html); } } 

Ver también https://angular.io/api/platform-browser/DomSanitizer

 

actualizar

DomSanitizationService cambiará de nombre a DomSanitizer en RC.6

original

Esto debería ser arreglado en RC.2

Consulte también Angular2 Developer Guide - Seguridad


Angular2 sanitización intruduzada de valores CSS y enlace de propiedad como [innerHTML]=... y [src]="..." en RC.1

Ver también https://github.com/angular/angular/issues/8491#issuecomment-217467582

Los valores se pueden marcar como confiables mediante DomSanitizer.bypassSecurityTrustStyle(...)

 import {DomSanitizer} from '@angular/platform-browser'; ... constructor(sanitizer: DomSanitizationService) { this.backgroundImageStyle = sanitizer.bypassSecurityTrustStyle('url(' + this.image + ')'); // for HTML // this.backgroundImageStyle = sanitizer.bypassSecurityTrustHtml(...); } 

y vinculando a este valor en lugar de la cadena simple no confiable.

Esto también se puede envolver en una tubería como

 @Pipe({name: 'safeStyle'}) export class Safe { constructor(private sanitizer:Sanitizer){} transform(style) { return this.sanitizer.bypassSecurityTrustStyle(style); // return this.sanitizer.bypassSecurityTrustHtml(style); // return this.sanitizer.bypassSecurityTrustScript(value); // return this.sanitizer.bypassSecurityTrustUrl(value); // return this.sanitizer.bypassSecurityTrustResourceUrl(value); } } 
 

con

 someHtml = `click to see the awesome`; 

todavía está trabajando: - [(es trabajo en progreso)

Ejemplo de Plunker (Angular 2.0.0-rc-1)

Ver también Angular 2 Security Tracking Issue

y https://angular.io/docs/ts/latest/api/platform-browser/index/DomSanitizer-class.html

Sugerencia sobre {{...}}

El contenido desinfectado no puede vincularse usando prop="{{sanitizedContent}}" porque {{}} codifica el valor antes de asignarlo, lo que rompe la desinfección.