Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.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
Angular2如何在根模块上声明公共组件_Angular - Fatal编程技术网

Angular2如何在根模块上声明公共组件

Angular2如何在根模块上声明公共组件,angular,Angular,我在根模块(AppModule)下有2个子模块(ClientModule和AdminModule) 我有一个公共库组件(文件上传器),我想在两个子组件中都使用它 所以我只是在根模块中声明了公共库组件并在子模块中使用它,然后我得到了一个错误 如果“应用程序文件上传器”是一个角度组件,则验证它是否为角度组件 本模块的一部分 如果我在每个子模块中声明,它是有效的 但我只想在根模块中声明公共库,以便所有子模块都可以使用它。可能吗?如果是,如何做到这一点 //根模块 @NgModule({ impor

我在根模块(AppModule)下有2个子模块(ClientModule和AdminModule)

我有一个公共库组件(文件上传器),我想在两个子组件中都使用它

所以我只是在根模块中声明了公共库组件并在子模块中使用它,然后我得到了一个错误

如果“应用程序文件上传器”是一个角度组件,则验证它是否为角度组件 本模块的一部分

如果我在每个子模块中声明,它是有效的

但我只想在根模块中声明公共库,以便所有子模块都可以使用它。可能吗?如果是,如何做到这一点

//根模块

@NgModule({
  imports: [
    ...
    ClientModule,
    AdminModule,
  ],
  declarations: [
    FileUploaderComponent //(x)
  ],
  ...
})
export class AppModule { }
//文件上传器

@Component({
    selector: 'app-file-uploader',
    templateUrl: './file-uploader.component.html',
})
export class FileUploaderComponent {

    public constructor() {}
}

如果要使用来自另一个模块的声明,则需要导入该另一个模块。这是没有办法的。每个模块都需要明确其依赖关系。 没有全局组件、指令或管道。 只能在全球范围内提供服务