2016-01-04 4 views
24

Я использую Angular 2.0.0-beta.0, и я хочу создать и привязать некоторый простой HTML напрямую. Возможно ли и как?Как связать raw html в Angular2

Я пытался использовать

{{myField}} 

но текст в MyField получит убежали.

Для угловых 1.xi найдены хиты для нг-Bind-HTML, но это, кажется, не будет поддерживаться в 2.x

THx Frank

ответ

63

Bind к innerHTML атрибута

Существует 2 способа достижения:

<div [innerHTML]="myField"></div> 
<div innerHTML="{{myField}}"></div> 

Чтобы отметить пройденный HTML как доверенный, так что DOM дезинфицирующих углов главного не удаляют части

<div [innerHTML]="myField | safeHtml"></div> 

с трубой, как

@Pipe({name: 'safeHtml'}) 
export class Safe { 
    constructor(private sanitizer:Sanitizer){} 

    transform(style) { 
    return this.sanitizer.bypassSecurityTrustStyle(style); 
    // return this.sanitizer.bypassSecurityTrustHtml(style); 
    // return this.sanitizer.bypassSecurityTrustXxx(style); - see docs 
    } 
} 

Смотрите также In RC.1 some styles can't be added using binding syntax

+0

я использую то же самое с не удаляйте это событие щелчка, но теперь событие click не запускается, я видел другие ответы, указывающие на динамический клик события, но как сделать работу щелчка в этой простой ситуации, упомянутой выше – Rex

+0

Вы ничего не можете добавить Угловая -specif ic, используя '[innerHTML] =" ... "' binding. Единственный способ сделать эту работу - создать и скомпилировать компонент во время выполнения. –

+0

У вас есть небольшой пример для этого, этот динамический вкладка «Click Click» - это способ многого, я хочу просто реализовать динамические ссылки привязки. – Rex

Смежные вопросы