私はtypescriptでAngular2を使用しています。DomSanitizerを使用しているときにAngular2が機能しなくなる(クリックする)
私は、HTMLのレンダリングに関して機能するパイプを持っています。 問題はDomSanitizer(クリック)イベントが機能しなくなっているようです。
console.log(F12)のHTMLをチェックすると、(クリック)コードがそこにあるように見えて、外されていないようです。
しかし、リンクをクリックしても何もしません。
これは(それは私のコンポーネントに機能を呼び出す)リンクの例である:
<a (click)="recordLinkClick()" target="_blank" href="#">Test link</a>
これはパイプである:
import { Pipe } from '@angular/core';
import { DomSanitizer, SafeHtml, SafeStyle, SafeScript, SafeUrl, SafeResourceUrl } from '@angular/platform-browser';
@Pipe({
name: 'safe'
})
export class SafePipe {
constructor(protected _sanitizer: DomSanitizer) {
}
public transform(value: string, type: string = 'html'): SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl {
switch (type) {
case 'html': return this._sanitizer.bypassSecurityTrustHtml(value);
case 'style': return this._sanitizer.bypassSecurityTrustStyle(value);
case 'script': return this._sanitizer.bypassSecurityTrustScript(value);
case 'url': return this._sanitizer.bypassSecurityTrustUrl(value);
case 'resourceUrl': return this._sanitizer.bypassSecurityTrustResourceUrl(value);
default: throw new Error(`Invalid safe type specified: ${type}`);
}
}
}
これはのラインでありますHTML:
<div [innerHTML]="selectedArticle.body | safe: 'html'"></div>
もうコードを見たい場合は教えてください。
、あなたの問題のいずれかの解決策を見つけますか?私は同じ問題を抱えていて、何の解決策も得ていない。 – user3739018