0
Ich habe eine Tabelle in eckigen 2 Ansicht erstellt und ich möchte HTML oder eckige Komponente dynamisch binden.Angular 2 dynamic html
<tbody>
<tr *ngFor="let hHeader of hHeaders;let x=index">
<td class="hour"><span>{{hHeader}}</span></td>
<td *ngFor="let vHeader of vHeaders;let y=index" class="hour " [contextMenu]="basicMenu " [contextMenuSubject]="{t:hHeader,d:vHeader,x:x,y:y} ">
<div #values [class.cell]="cell" id="cell-{{x}}-{{y}}" style="width:100%; height: 100%"></div>
</td>
</tr>
</tbody>
kann ich jede Zelle in der Komponente
for (let i = 0; i < cells.length; ++i) {
if (cells[i].nativeElement.id == 'cell-' + event.x + '-' + event.y) {
// cells[i].nativeElement.style.backgroundColor = '#5789D8';
cells[i].nativeElement.innerHTML = '<div class="drag" dnd-draggable [dragEnabled]="true">Drag me</div>'
console.log(cells[i]);
}
}
identifizieren, aber ich kann so html oder Component nicht binden.
<div class="drag" dnd-draggable [dragEnabled]="true">Drag me</div>
, was Sie genau suchen? –
Ich möchte HTML oder eckige 2 Komponente zu
hinzufügen Programm nicht so programmieren. Das DOM ist keine große Saite, die man konstruiert und irgendwo einklebt. Selbst wenn Sie das tun, wird keine Winkellogik innerhalb Ihrer großen innerHTML-Zeichenfolge interpretiert. Schreiben Sie HTML in Ihre Vorlage. –
Antwort
Wenn Sie gerade suchen html auf Ihre td zu binden, wie es sich anhört, dann können Sie nur das Attribut innerHTML- verwenden
Quelle
2017-06-23 06:13:20 Nieminen
ich denke, 'nativeElement.innerHTML = '
ich lieber mit Rohren für diese. https://angular.io/guide/security#bypass-security-apis
fand ich diese in einem Forum https://forum.ionicframework.com/t/inserting-html-via-angular-2-use-of-domsanitizationservice-bypasssecuritytrusthtml/62562/2
nur
<component-container [innerHtml]='this.safteyPipe.transform(TemplateComponentString)'></component-container>
Für die Umsetzung verwendenQuelle
2017-09-05 18:19:25 Rex
Verwandte Themen