找不到名字' XXX'

时间:2018-01-19 04:07:05

标签: angular typescript module components

我收到错误"找不到姓名'日历组件'"在我的app.module.ts文件中尝试将路由添加到另一个模块导出的组件时。

这是我的app.module.ts文件

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';

import { CalendarComponent } from './calendar.component';

@NgModule({
  imports: [
    CommonModule,
    FormsModule
  ],
  declarations: [CalendarComponent],
  exports: [CalendarComponent]
})
export class CalendarModule { }

这是我的calendar.module.ts文件

{{1}}

正如您所看到的,我的日历组件都在我的calendar.Module.ts文件中声明和导出(calendar.component.ts存在,但为了清楚我的问题,我把它留了出来)。那么,为什么我的app模块无法识别和解释我尝试在路径数组中传递它的组件?

如果有任何帮助,我正在使用Angular v5.2.0。

2 个答案:

答案 0 :(得分:0)

一个。您尚未在app.module.ts中导入CalenderComponent。

湾我建议尝试将日历功能实现为子路径

参考:https://angular.io/guide/router#milestone-4-crisis-center-feature

答案 1 :(得分:0)

您必须在app.module.ts文件中添加import语句。

import { CalendarComponent } from '[location of calendar component]';

TypeScript imports语句与Angular的ngModule imports数组之间存在差异。

import { .. } from '@angular/..'用于打字稿导入,这意味着您将使用在'@ angular / ..'位置提供的打字稿文件中声明的一些标识符(主要是该位置的index.ts)< / p>

imports: [ module1, module2, ... ]指定模块列表,其导出的组件/指令/管道应该可用于当前模块中的模板。

  

模块在自己的范围内执行,而不是在全局范围内执行;这意味着模块中声明的变量,函数,类等在模块外部不可见,除非使用其中一个导出表单显式导出它们。相反,要使用从不同模块导出的变量,函数,类,接口等,必须使用其中一个导入表单导入它。   块引用

请更频密地浏览this链接。