Angular 6-共享模块中的自定义管道未导出

时间:2018-09-23 12:22:12

标签: angular typescript angular-pipe ng-modules

我的Angular架构由3个模块组成。

  • AppModule(应用预设和逻辑所在的位置)
  • CoreModule(包含我的服务以访问API)
  • SharedModule(包含我的模型,管道,指令等...)

我想在我的SharedModule中添加一个新管道,因此我将其创建,然后将其添加到declarations的{​​的exportsSharedModule字段中{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>();
    }
}

我错过了什么吗?

0 个答案:

没有答案