0

sanitizer.bypassSecurityTrustUrlページに blobURL へのリンクを配置するために使用しています。プロジェクトを AoT コンパイルしない限り、これは問題なく機能します。

import {DomSanitizer} from '@angular/platform-browser';

export class AppComponent {
  constructor(private sanitizer: DomSanitizer) {
  }

  sanitize(url: string) {
    return this.sanitizer.bypassSecurityTrustUrl(url);
  }
}

サニタイズ関数は、次のような URL を取ります。

blob:http://localhost:4200/7c1d7221-aa0e-4d98-803d-b9be6400865b

AoT コンパイルを使用すると、次のエラー メッセージが表示されます。

モジュールのビルドに失敗しました: エラー: /.../src/app/app.component.ts (18,3): エクスポートされたクラスからのパブリック メソッドの戻り型は、外部モジュール "/... /node_modules/@angular/platform-b​​rowser/src/security/dom_sanitization_service" ですが、名前を付けることはできません)。

Angular 2.1.0 で CLI を使用しています

この問題を回避する方法を知っている人はいますか? それともバグとして報告する必要がありますか?

4

2 に答える 2

7

SafeUrlそのため、メソッドに戻り値の型を追加する必要があったようです

  sanitize(url: string):SafeUrl {
    return this.sanitizer.bypassSecurityTrustUrl(url);
  }

alxhubに感謝します

于 2016-10-31T17:53:21.503 に答える