[英]Angular2 - Unable to use directive in another component
I have an angular app with following app module. 我有一个带有以下应用程序模块的角度应用程序。
import {BrowserModule} from '@angular/platform-browser';
import {NgModule} from '@angular/core';
import {LocationStrategy, HashLocationStrategy} from '@angular/common';
import {AppComponent} from './app.component';
// Import components
import {
AppAsideComponent,
AppBreadcrumbsComponent,
AppFooterComponent,
AppHeaderComponent,
AppSidebarComponent,
AppSidebarFooterComponent,
AppSidebarFormComponent,
AppSidebarHeaderComponent,
AppSidebarMinimizerComponent,
APP_SIDEBAR_NAV
} from './components';
const APP_COMPONENTS = [
AppAsideComponent,
AppBreadcrumbsComponent,
AppFooterComponent,
AppHeaderComponent,
AppSidebarComponent,
AppSidebarFooterComponent,
AppSidebarFormComponent,
AppSidebarHeaderComponent,
AppSidebarMinimizerComponent,
APP_SIDEBAR_NAV
]
// Import directives
import {
AsideToggleDirective,
NAV_DROPDOWN_DIRECTIVES,
ReplaceDirective,
SIDEBAR_TOGGLE_DIRECTIVES
} from './directives';
const APP_DIRECTIVES = [
AsideToggleDirective,
NAV_DROPDOWN_DIRECTIVES,
ReplaceDirective,
SIDEBAR_TOGGLE_DIRECTIVES
]
import {AppRoutingModule} from './app.routing';
@NgModule({
imports: [
AppRoutingModule,
BrowserModule
],
declarations: [
AppComponent,
...APP_CONTAINERS,
...APP_COMPONENTS,
...APP_DIRECTIVES
],
exports: [],
providers: [{
provide: LocationStrategy,
useClass: HashLocationStrategy
}],
bootstrap: [AppComponent]
})
export class AppModule {
}
I want to use the directive AsideToggleDirective
in the component of another module which is a child of the main AppModule
. 我想在另一个模块的组件中使用指令
AsideToggleDirective
,该模块是主AppModule
的子AppModule
。 I am able to use it properly in the components mentioned in const APP_COMPONENTS
, but it does not work for another module components. 我可以在
const APP_COMPONENTS
提到的组件中正确使用它,但不适用于其他模块组件。
What am I missing here? 我在这里想念什么?
PS The other modules are defined by routes PS其他模块由路线定义
只需将AsideToggleDirective
添加到导出数组即可:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.