Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度5-指;确认它是本模块的一部分;消息_Angular_Angular Ui Router - Fatal编程技术网

Angular 角度5-指;确认它是本模块的一部分;消息

Angular 角度5-指;确认它是本模块的一部分;消息,angular,angular-ui-router,Angular,Angular Ui Router,将我的组件从app.component.html更改为另一个other component.html app.component.html(这很有效) 这是我的app.module.ts,它加载core.module(顺便说一句,我的组件在core.module里面) 应用程序模块 import { BrowserModule } from '@angular/platform-browser'; import { NgModule, NO_ERRORS_SCHEMA } from '@angu

将我的组件从
app.component.html
更改为另一个
other component.html

app.component.html(这很有效)

这是我的
app.module.ts
,它加载
core.module
(顺便说一句,我的组件
在core.module里面)

应用程序模块

import { BrowserModule } from '@angular/platform-browser';
import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
import { provideRoutes} from '@angular/router';

import { AppComponent } from './app.component';
import { CoreModule } from './core/core.module';
import { AppRoutingModule } from './app-routing.module';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    CoreModule,
    AppRoutingModule
  ],
  providers: [],
  bootstrap: [AppComponent],
  schemas: [
    NO_ERRORS_SCHEMA
  ]
})
export class AppModule { }
import { NgModule, NO_ERRORS_SCHEMA, Optional, SkipSelf } from '@angular/core';
import { HttpClientModule } from '@angular/common/http';
import { CommonModule, DatePipe } from "@angular/common";

import { MyComponent} from './components/my-component/my-component.component';

@NgModule({
  declarations: [
    MyComponent
  ],
  imports: [
    HttpClientModule,
    CommonModule
  ],
  exports: [
    MyComponent
  ],
  providers: [
    DatePipe
  ],
  schemas: [
    NO_ERRORS_SCHEMA
  ]
})
export class CoreModule {

  constructor (@Optional() @SkipSelf() parentModule: CoreModule) {
    if (parentModule) {
      throw new Error(
        'CoreModule is already loaded. Import it in the AppModule only');
    }
  }

 }
核心模块

import { BrowserModule } from '@angular/platform-browser';
import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
import { provideRoutes} from '@angular/router';

import { AppComponent } from './app.component';
import { CoreModule } from './core/core.module';
import { AppRoutingModule } from './app-routing.module';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    CoreModule,
    AppRoutingModule
  ],
  providers: [],
  bootstrap: [AppComponent],
  schemas: [
    NO_ERRORS_SCHEMA
  ]
})
export class AppModule { }
import { NgModule, NO_ERRORS_SCHEMA, Optional, SkipSelf } from '@angular/core';
import { HttpClientModule } from '@angular/common/http';
import { CommonModule, DatePipe } from "@angular/common";

import { MyComponent} from './components/my-component/my-component.component';

@NgModule({
  declarations: [
    MyComponent
  ],
  imports: [
    HttpClientModule,
    CommonModule
  ],
  exports: [
    MyComponent
  ],
  providers: [
    DatePipe
  ],
  schemas: [
    NO_ERRORS_SCHEMA
  ]
})
export class CoreModule {

  constructor (@Optional() @SkipSelf() parentModule: CoreModule) {
    if (parentModule) {
      throw new Error(
        'CoreModule is already loaded. Import it in the AppModule only');
    }
  }

 }
因此,当y转到url localhost:4200/第一个组件时,应用程序启动,它加载主app.module,加载核心模块,最后一个加载我的组件。但似乎只有当我将组件放在app.component.html上时,它才起作用


有人能在这方面给我一些帮助吗?

假设“其他”组件在“第一”模块中,那么既然它使用MyComponent,那么MyComponent也应该在“第一”模块中声明。您的CoreModule可能不包含组件。只有单例服务。如果在模块中声明的任何组件中使用“我的组件”,而该组件不导入声明和导出“我的组件”的模块,则fail@JBNizet“其他”组件位于“核心”模块上,因为“app.module”加载“核心”模块,所以与之关联的组件应加载到。它正在工作,但仅在app.component.html的上下文中有效,而在其他上下文中无效。@Jota.Toledo“core.module”是声明并导出“我的组件”的模块。我已经在app.module上导入了core.module,所以已经完成了。如果我在“第一个模块”上导入“核心模块”,控制台会打印:“错误:CoreModule已加载。仅在AppModule中导入它”是的,这是因为您在核心模块中施加的限制,该限制只能导入一次(通常由AppModule导入)。跨多个模块使用的组件在核心模块中声明/导出,这一事实在您方面是一个错误的设计决策
import { BrowserModule } from '@angular/platform-browser';
import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
import { provideRoutes} from '@angular/router';

import { AppComponent } from './app.component';
import { CoreModule } from './core/core.module';
import { AppRoutingModule } from './app-routing.module';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    CoreModule,
    AppRoutingModule
  ],
  providers: [],
  bootstrap: [AppComponent],
  schemas: [
    NO_ERRORS_SCHEMA
  ]
})
export class AppModule { }
import { NgModule, NO_ERRORS_SCHEMA, Optional, SkipSelf } from '@angular/core';
import { HttpClientModule } from '@angular/common/http';
import { CommonModule, DatePipe } from "@angular/common";

import { MyComponent} from './components/my-component/my-component.component';

@NgModule({
  declarations: [
    MyComponent
  ],
  imports: [
    HttpClientModule,
    CommonModule
  ],
  exports: [
    MyComponent
  ],
  providers: [
    DatePipe
  ],
  schemas: [
    NO_ERRORS_SCHEMA
  ]
})
export class CoreModule {

  constructor (@Optional() @SkipSelf() parentModule: CoreModule) {
    if (parentModule) {
      throw new Error(
        'CoreModule is already loaded. Import it in the AppModule only');
    }
  }

 }