Я сталкиваюсь с проблемой при рендеринге & times в шаблоне Component.
@Component({
selector:'my-app',
template:'
<div>
<input [(ngModel)]="toDoModel" type="text">
<button (click)="onClickToDo(toDoModel)">Click me</button>
<ul>
<li *ngFor="let item of todoList; let i = index">{{item}}
<a (click)="remove(i)">×</a>
</li>
</ul>
</div>'
})
Похоже, вы забыли поставить ;
символ в конце последовательности.
Успешно выполнится следующее:
<a (click)="remove(i)">×</a>
Plunker, например, использование
Для тех, кто интересуется DomSanitizationService в угловом 2.0.0 (выпуск), он был переименован в DomSanitizer.
import { Component, OnInit } from '@angular/core';
import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent implements OnInit {
public someSafeHtml: SafeHtml;
constructor(
private _domSanitizer: DomSanitizer) {
}
ngOnInit() {
this.someSafeHtml = this._domSanitizer.bypassSecurityTrustHtml('© Example.com');
}
}
вы можете использовать DomSanitizationService для правильного разбора ×
как показано ниже,
ДЕМО: https://plnkr.co/edit/4X2vINBbXmaJ0eHZ9ZZX?p=preview
import {DomSanitizationService} from '@angular/platform-browser';
@Component({
selector:'my-app',
template:'
<div>
<input [(ngModel)]="toDoModel" type="text">
<button (click)="onClickToDo(toDoModel)">Click me</button>
<ul>
<li *ngFor="let item of todoList; let i = index">{{item}}
<a (click)="remove(i)" [innerHTML]="myHTML"></a>
</li>
</ul>
</div>'
})
export class AppComponent{
dangerousUrl='<span>×</span>';
constructor(sanitizer: DomSanitizationService) {
this.myHTML= sanitizer.bypassSecurityTrustHtml(this.dangerousUrl);
}
}
как предложил @rinukkusu,
<a (click)="remove(i)">×</a>
;
пропущенный