Angular - 如何获取没有exportAs的指令的引用

标签 angular angular-directive vmware-clarity

clrDate 是一个自定义第三方指令,没有 exportAs 语句。

源代码

@Directive({
  selector: '[clrDate]',
  host: {
    '[class.clr-input]': 'true',
  },
  providers: [DatepickerFocusService],
})
export class ClrDateInput extends WrappedFormControl<ClrDateContainer> implements OnInit, AfterViewInit, OnDestroy {
  @Input() placeholder: string;
  @Output('clrDateChange') dateChange: EventEmitter<Date> = new EventEmitter<Date>(false);
  @Input('clrDate')
...
}

我希望能够从我的 Controller 以及我的自定义指令内部获取对它的引用。我怎样才能做到这一点?

<clr-date-container customDirective>
    <label for="dateControl">Requirement Date</label>
    <input id="dateControl" type="date" [placeholder]="'TT.MM.YYYY'" [(clrDate)]="item.requirementDate" (clrDateChange)="onChange($event)" [ngModel]="null" name="requirementDate"/>
    <clr-control-error>{{ 'FORMS.VALIDATION.DATE_INVALID' | translate }}</clr-control-error>
</clr-date-container>

最佳答案

在指令上添加#ref(模板变量),就可以在组件中获取它

关于Angular - 如何获取没有exportAs的指令的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58389568/

相关文章:

Angular:从指令访问 FormControl

angular - : 'clr-icon' is not a known element: 中的错误

angular - 错误模块构建失败(来自 ./node_modules/sass-loader/lib/loader.js):

clarity - 如何设置clr-icon的shape属性

angular - 为什么使用 OnPush 时,变化的数据会反射(reflect)在父组件中?

Angular Dart : how StreamController works in the following example?

javascript - 将夜间叠加层添加到谷歌地图 api

Angular CDK A11y 焦点陷阱模式/对话框

javascript - Angular 13 从 HTML 字符串加载/编译动态 Angular 组件

javascript - 由于子指令引发的事件而操作父指令的 DOM