是否可以将Directive
导入Component
?我想避免导入ngModule.declarations
。
我关注CustomDirective for Telerik Angular Grid。建议用customDirective填充网格,但我只需要在一个组件中使用该指令,所以我想避免在ngModule中导入,以避免名称冲突。
编辑:
我尝试使用viewProviders
,但它不起作用。 Here是有效的plunkr(在ngModule中导入的指令):
@NgModule({
imports: [ BrowserModule ],
declarations: [
AppComponent,
HighlightDirective
],
bootstrap: [ AppComponent ]
})
export class AppModule { }
和here是plunkr,不起作用。 (在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;
}
答案 0 :(得分:1)
是的,这完全有可能,您可以使用Component
装饰器的viewProviders
选项,如下所示:
@Component({
template: '<div myCustomDirective>Hello</div>',
selector: 'app-hello',
viewProviders: [MyCustomDirective]
})
export class Component {}
但是我应该警告,这不是一个最佳实践,而是坚持使用模块。