将自定义Direcitves添加到自定义库

问题描述 投票:1回答:1

我想创建一个自定义库。应该导入自定义指令!!一切都很好!!自定义指令未实现

@Directive({

    selector:'[demo-dir]',
})
export class DemoDirective{

constructor(private elref:ElementRef,private Renderer:Renderer2){

}
@HostListener('click') mouseover()
{

    alert("test")
    console.log("test")
}
ngOnInit()
{
this.Renderer.setStyle(this.elref.nativeElement,'color','red');
}

自定义库模块:

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { DemoComponent } from './demo.component';
import { DemoDirective } from './demo.directive';

@NgModule({

  declarations: [DemoComponent,DemoDirective],
  imports: [
    CommonModule
  ],
  exports:[DemoComponent]
})
export class DemoModule { }

我已经在app.module.ts中导入了我的自定义库模块

angular typescript
1个回答
0
投票

您编写的指令没问题,您没有从DemoDirective模块导出DemoModule指令:

@NgModule({

  declarations: [DemoComponent, DemoDirective],
  imports: [
    CommonModule
  ],
  exports:[DemoComponent, DemoDirective]
})
export class DemoModule { }

如果不导出指令,即使导入DemoModule,它也不会在其他组件中可见。

© www.soinside.com 2019 - 2024. All rights reserved.