0

내 ionic v3 앱에서 두 개의 다른 페이지에서 UserCardComponent라는 맞춤 구성 요소를 사용하려고합니다.

나는 "특정 페이지의 module.ts 파일"에 사용자 정의 구성 요소를 선언하는 대답 (26 표를 가진 답변)을 따랐습니다.ionic v3의 맞춤 구성 요소

그래서 저는 먼저 HomePageModule의 컴포넌트를 선언하고 home.html에서 잘 사용할 수있었습니다.

home.module.ts

import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { HomePage } from './home';
import { UserCardComponent } from '../../components/user-card/user-card';

@NgModule({
  declarations: [
    HomePage,
    UserCardComponent
  ],
  imports: [
    IonicPageModule.forChild(HomePage)
  ],
})
export class HomePageModule {}

나는 다음과 같은 오류가 발생하지만 contacts.Module에서 (동일한 방식으로) 선언하려고 시도했다.

Type UserCardComponent is part of the declarations of 2 modules: HomePageModule and ContactsPageModule! 
Please consider moving UserCardComponent to a higher module that imports HomePageModule and ContactsPageModule. 
You can also create a new NgModule that exports and includes UserCardComponent then import that NgModule in HomePageModule and ContactsPageModule

app.module.ts 파일에서 UserCardComponent를 선언하려고하면 템플릿 구문 분석 오류가 발생하고 사용자 정의 구성 요소가 어떤 페이지에서도 작동하지 않습니다.

무엇을해야할지 조언 해 주시겠습니까? 오류는 "UserCardComponent를 HomePageModule 및 ContactsPageModule을 가져 오는 상위 모듈로 이동하라는 메시지가 표시됩니다."

내가 어떻게 할 수 있는지 말해 줄 수 있니? 나는 이온이 처음이야. 감사

1 답변


2

당신이UserCardComponent~ 안에HomePageModule, 당신은 단지 수입해야합니다HomePageModule~ 안에ContactsPageModule그러나이 모듈들 사이에 더러운 의존성을 가져온다.

더 좋은 방법은 선언하는 것입니다.UserCardComponent특정 모듈에서UserCardModule이 특정 모듈을HomePageModule~에서ContactsPageModule.

user-card.module.ts

import { NgModule } from '@angular/core';
import { UserCardComponent } from './user-card';

@NgModule({
  declarations: [
    UserCardComponent
  ]
})
export class UserCardModule {}

home.module.ts

import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { HomePage } from './home';
import { UserCardModule } from '../../components/user-card/user-card.module';

@NgModule({
  declarations: [
    HomePage
  ],
  imports: [
    IonicPageModule.forChild(HomePage),
    UserCardModule
  ],
})
export class HomePageModule {}


  • 그것은 완벽하다. 고맙습니다 :) 그러나 폴더 구조는 답변과 약간 다릅니다 ... user-card.module.ts에서 & # 39; 사용자 카드 & # 39;에서 가져온 {UserCardComponent} 여야합니다. home.module.ts에서 행은 '../../ components / user-card / user-card.module'에서 가져온 {UserCardModule}이어야합니다. ... 당신이 그것을 바꿀 수 있다면 나는 답을 정확하게 표시 할 것입니다. 어쩌면 내가 너의 대답을 편집 할 수 있을까? - Sarah
  • 감사합니다. 메모로 내 대답을 편집합니다. - JeRivals
  • 완벽한 감사 :) - Sarah

연결된 질문


관련된 질문

최근 질문