我正试图找到一种方法来访问Angular中的imask对象。我看到这个属性
[imaskElement]="(elementRef, directiveRef) => maskElement" <!-- default = elementRef.nativeElement -->
但当我尝试将它连接到组件中的属性时,它不起作用。Angular在组件中找不到elementRef和directionalRef属性。
我试着把它连接到这个属性:
@ViewChild('MyDatePicker') myDatePicker: ElementRef;
这边:
(...)
[imaskElement]="(elementRef, directiveRef) => datePickerElement" />
此外,如果我试图访问文档中所述的默认元素,它也不会起作用。当我尝试这个:
myDatePicker.nativeElement.updateValue()
我得到这个错误:
ERROR TypeError: Cannot read properties of undefined (reading 'updateValue')
如何将imaskElement属性正确地定向到组件的属性?
您必须使用该声明编写一个函数,以返回我认为的输入方法。即
组件.ts
getElementInput = function(elementRef: ElementRef<any>, directiveRef: any): MaskElement {
return elementRef.nativeElement.getInputElement(); // how to get the input element will vary
}
component.html
<special-input [imaskElement]="getElementInput"></special-input>