общий модуль angular 6 не работает с другими модулями - PullRequest
0 голосов
/ 29 апреля 2019

, пожалуйста, проверьте мой файл общего модуля ниже.

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { HttpClientModule } from '@angular/common/http';
import {SharedPipesModule} from '../../shared/pipes/shared-pipes.module';


@NgModule({
  declarations: [
    SharedPipesModule,
  ],
  imports: [
    CommonModule,
    HttpClientModule,
  ],
  exports: [
    SharedPipesModule,
  ]
})

export class SharedModule { }

Я импортирую файл нестандартного канала как «SharedPipesModule».Теперь я пытаюсь получить доступ к файлу sharedmodule для другого компонента.для этого я импортировал общий файл.проверьте ниже код.

    import { NgModule} from '@angular/core';
import { CommonModule } from '@angular/common';
import { GlHeaderRoutModule } from './gl-header-rout.module';
import { PageHeaderModule } from './../../shared';
import { GlHeaderComponent} from './gl-header.component';
import {MatButtonModule, MatSort, MatPaginator, MatCardModule , MatTable, MatTableModule, MatSortable, MatTableDataSource, MatIconModule, MatSortModule, MatPaginatorModule} from '@angular/material';
import {MatExpansionModule} from '@angular/material/expansion';
import { MatInputModule } from '@angular/material/input';
import { MatFormFieldModule } from '@angular/material/form-field';
import {NgbModule} from '@ng-bootstrap/ng-bootstrap';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import {MatProgressSpinnerModule} from '@angular/material/progress-spinner';
import {SharedModule} from '../../shared/org-sort/shared-module.module';
@NgModule({
  imports: [CommonModule, GlHeaderRoutModule, PageHeaderModule,
    MatFormFieldModule,
    MatInputModule,
    NgbModule, FormsModule,
    ReactiveFormsModule,
    MatIconModule, MatTableModule,
    MatSortModule, MatCardModule,
    MatProgressSpinnerModule, MatPaginatorModule, SharedModule,
    MatExpansionModule],
  declarations: [GlHeaderComponent]
})
export class GlHeaderModule { }

это правильно ??

, когда я запускаю ошибку проекта,

Ошибка ОШИБКИ: Uncaught (в обещании): Ошибка: Ошибки синтаксического анализа шаблона: Не удалось найти канал "уникальный" ("> --Select--] банк sortBy ('orgName') | уникальный "> {{bank.orgName}}

код SharedPipesModule,

import { NgModule, Pipe, Injectable, PipeTransform } from '@angular/core';
import { CommonModule } from '@angular/common';
import * as _ from 'lodash';

@Injectable()
@Pipe({
  name: 'unique',
  pure: false
})

@NgModule({
    imports: [
        CommonModule
    ],
    declarations: []
})

export class SharedPipesModule implements PipeTransform {
  transform(value: any): any {
      if (value !== undefined && value !== null) {
          return _.uniqBy(value, 'orgName');
      }
      return value;
  }
}

Ответы [ 2 ]

3 голосов
/ 29 апреля 2019

Попробуйте это на SharedPipesModule :

@NgModule({       
    imports: [
        CommonModule
    ],
    declarations: [SharedPipesModule], // Adding SharedPipesModule to declarations
    exports: [SharedPipesModule], // Adding SharedPipesModule to exports
})
1 голос
/ 29 апреля 2019

Вы должны удалить декоратор @NgModule, просто создайте канал следующим образом:

import { Pipe, Injectable, PipeTransform } from '@angular/core';
import * as _ from 'lodash';

@Injectable()
@Pipe({
  name: 'unique',
  pure: false
})



export class SharedPipes implements PipeTransform {
  transform(value: any): any {
      if (value !== undefined && value !== null) {
          return _.uniqBy(value, 'orgName');
      }
      return value;
  }
}

В вашем общем модуле объявите канал и экспортируйте его следующим образом:

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { HttpClientModule } from '@angular/common/http';
import {SharedPipes} from '../../shared/pipes/shared-pipes.module';


@NgModule({
  declarations: [
    SharedPipes,
  ],
  imports: [
    CommonModule,
    HttpClientModule,
  ],
  exports: [
    SharedPipes,
  ]
})

export class SharedModule { }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...