【发布时间】:2021-01-04 20:13:55
【问题描述】:
我不是第一次使用管道,但现在我正在尝试使用我在带有PipesModule 的单独文件夹“管道”中创建的安全管道,如下所示
这是管道类:
safe.pipe.ts
import { Pipe, PipeTransform } from '@angular/core';
import { DomSanitizer, SafeHtml, SafeResourceUrl, SafeScript, SafeStyle, SafeUrl } from '@angular/platform-browser';
@Pipe( {
name: 'safe'
} )
export class SafePipe implements PipeTransform {
constructor ( protected sanitizer: DomSanitizer ) { }
public transform ( url: any ) {
return this.sanitizer.bypassSecurityTrustResourceUrl( url );
}
}
这是模块文件pipes.module.ts
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { SafePipe } from './safe.pipe';
@NgModule( {
declarations: [
SafePipe
],
exports: [
SafePipe
],
imports: [
CommonModule
]
} )
export class PipesModule { }
我在要使用管道的组件模块中导入了 PipesModule,
@NgModule( {
declarations: [ GenerateContractComponent ],
imports: [
CommonModule,
FormsModule,
NgxMaskModule,
PipesModule
]
} )
然后在 HTML 中使用管道:
<iframe width="100%" style="height:-webkit-fill-available" [src]="pdfURL | safe" frameborder="0"></iframe>
但还是报错
错误:未捕获(承诺):错误:NG0302:找不到“安全”管道! 请问有人可以帮忙吗??
【问题讨论】:
-
尝试从 PipesModule 中移除 CommonModule
-
@feihoa 不,这对我没有帮助