此问题与How can we use Provider in Pipe files while using Deep Linking and Lazy Loading Ionic 3?非常相似,但在此问题中,我们不使用提供商。
我有2个Lazy Loading Pages Page1和Page2以及HomePage作为根页面。另外,MyPipe文件是Pipe文件。如下所示。我想在LAzy Loading Files Page1和Page2以及HomePage
中使用此Pipe文件 案例1 :如果我只在Pipe
上添加app.module
个文件
然后发生以下错误
运行时错误 未捕获(承诺):错误:模板解析错误:管道' myPipe'无法找到(" {{[ERROR - >]' test1' | myPipe}}"):ng:/// Page1PageModule/Page1Page.html@16:2错误:模板解析错误:管道' myPipe'无法找到(" {{[ERROR - >]' test1' | myPipe}}"):
Case 2
:如果我将Pipe
文件导入Page1Module
和Page2Module
然后发生以下错误
运行时错误 未捕获(承诺):错误:类型MyPipe是2个模块的声明的一部分:Page1PageModule和Page2PageModule!请考虑将MyPipe移动到导入Page1PageModule和Page2PageModule的更高模块。您还可以创建一个新的NgModule,它导出并包含MyPipe,然后在Page1PageModule和Page2PageModule中导入该NgModule。错误:类型MyPipe是2个模块的声明的一部分:Page1PageModule和Page2PageModule!请考虑将MyPipe移动到导入Page1PageModule和Page2PageModule的更高模块。您还可以创建一个新的NgModule,它导出并包含MyPipe,然后在Page1PageModule和Page2PageModule中导入NgModule。
感谢您的推荐。
答案 0 :(得分:3)
很简单。这是我的工作流程。
我使用此pipe
创建CLI
:ionic generate pipe MyFilter
然后它会自动创建pipes.module.ts
。
之后,我只是import
进入我的延迟加载页面module
,如下所示。
member.module.ts
import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { MemberPage } from './member';
import { PipesModule } from '../../pipes/pipes.module';
@NgModule({
declarations: [
MemberPage,
],
imports: [
IonicPageModule.forChild(MemberPage),
PipesModule <-- here
],
})
export class MemberPageModule { }
pipe
也正常工作:)