Ionic 自定义指令被 Angular 忽略

Ionic custom directive is Ignored by Angular

我在 ionic 中创建了自定义指令

ionic g directive directives/time-value

我的密码是

import { Directive, OnInit, Input, HostListener } from '@angular/core';

@Directive({
    selector: '[appTimeValue]',
})
export class TimeValueDirective implements OnInit{

    @Input('appTimeValue') myStyles: any;

    constructor() { 
      console.log("I'm here");
    }
    ngOnInit(): void {
      console.log("I'm here");
  
    }
}

然后我尝试使用指令

<ion-input type="text" name="fineColazione" [(ngModel)]="fineColazione" appTimeValue></ion-input>

Ionic 忽略了我的指令。

CLI 在模块声明中添加了指令

@NgModule({
  declarations: [
    AppComponent,
    TimeValueDirective,
  ],
  entryComponents: [],
  imports: [
    CommonModule,
    BrowserModule, 
    IonicModule.forRoot(), 
    AppRoutingModule,
    FormsModule
  ],
  providers: [{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy }],
  bootstrap: [AppComponent],
})
export class AppModule {}

如何使指令生效?

TimeValueDirective 应该在与包含使用该指令的组件的模块相同的模块中声明。在应用程序内部制作具有所有可重用 components/directives/pipes 的 SharedModule 并在任何地方导入此模块也是一个好习惯。