Directive
을 Component
으로 가져올 수 있습니까? ngModule.declarations
으로 가져 오는 것을 피하고 싶습니다.부품을 각도로 가져 오기
다음은 CustomDirective for Telerik Angular Grid입니다. customDirective로 그리드를 채우는 것이 좋습니다. 단 하나의 구성 요소에만이 지시문이 필요하므로 이름 충돌을 피하기 위해 ngModule에서 가져 오는 것을 피하고 싶습니다.
편집 됨 :
나는 viewProviders
와 시도했지만 작동하지 않습니다.
@NgModule({
imports: [ BrowserModule ],
declarations: [
AppComponent,
HighlightDirective
],
bootstrap: [ AppComponent ]
})
export class AppModule { }
및 here이 작동하지 않는 plunkr입니다 : Here 작동 plunkr (ngModule 수입 지시어)입니다. (구성 요소에서 수입 지시어) :
@Component({
template: '<div myCustomDirective>Hello</div>',
selector: 'app-hello',
viewProviders: [MyCustomDirective]
})
export class Component {}
을하지만이 정말 가장 좋은 방법은 아니다 경고한다 :
@NgModule({
imports: [ BrowserModule ],
declarations: [
AppComponent,
],
bootstrap: [ AppComponent ]
})
export class AppModule { }
@Component({
moduleId: module.id,
selector: 'my-app',
templateUrl: 'app.component.html',
viewProviders: [HighlightDirective]
})
export class AppComponent {
color: string;
}
이름 충돌을 피하려면 전용'@ NgModule'을 만드십시오. https://angular.io/guide/ngmodule#feature-modules'충돌하는 지시문이 있습니다 .' – yurzui
NgModule에서만 가져 오기에 아무런 의미가 없습니다. 하나 또는 두 개의 구성 요소가 필요합니다. – Makla
@Fredrik Lundin이 바로 대답을 썼습니다. – yurzui