我的Angular架构由3个模块组成。
AppModule
(应用预设和逻辑所在的位置)CoreModule
(包含我的服务以访问API)SharedModule
(包含我的模型,管道,指令等...)我想在我的SharedModule
中添加一个新管道,因此我将其创建,然后将其添加到declarations
的{的exports
和SharedModule
字段中{1}}装饰器。
然后,在我的NgModule
中,导入AppModule
,并且应该可以访问我的管道。但是,那件事,我做不到。相反,我出现以下错误:
未捕获的错误:模板解析错误: 找不到管道的“排名位置”
有代码:
rankingposition.pipe.ts
SharedModule
shared.module.ts
import { Pipe, PipeTransform } from "@angular/core";
@Pipe({ name: 'rankingposition' })
export class RankingPositionPipe implements PipeTransform {
transform(value: any, ...args: any[]) {
// Do stuff
}
}
app.module.ts
import { NgModule } from "@angular/core";
import { RankingPositionPipe } from "@app/shared/pipes/ranking-position.pipe";
@NgModule({
declarations: [RankingPositionPipe],
exports: [RankingPositionPipe]
})
export class SharedModule {}
编辑:添加我的组件代码:
ranking.component.ts
import { NgModule } from '@angular/core';
...
import { SharedModule } from '@app/shared/shared.module';
@NgModule({
declarations: [...],
imports: [
...,
SharedModule
],
providers: [],
bootstrap: [...]
})
export class AppModule { }
ranking.component.html
import { Component } from "@angular/core";
import { CharacterModel } from "@app/shared/models/character.model";
@Component({
selector: 'ranking',
templateUrl: './ranking.component.html'
})
export class RankingComponent {
public characters: Array<CharacterModel>;
constructor() {
this.characters = new Array<CharacterModel>();
}
}
我错过了什么吗?