如何使用Angular 9和NG_VALUE_访问器?

如何使用Angular 9和NG_VALUE_访问器?,angular,components,Angular,Components,我正在尝试创建一个自定义输入元素,但出于什么原因,它无法工作,也无法显示任何内容。现在的问题是:为什么,我做错了什么 这是我的代码: 从'@angular/core'导入{Component,forwardRef}; 从'@angular/forms'导入{ControlValueAccessor,NG_VALUE_ACCESSOR}; @组成部分({ 选择器:“自定义输入”, 模板:“本地:{{val}}”, 供应商:[ { 提供:NG_值访问器, useExisting:forwardRef

我正在尝试创建一个自定义输入元素,但出于什么原因,它无法工作,也无法显示任何内容。现在的问题是:为什么,我做错了什么

这是我的代码:

从'@angular/core'导入{Component,forwardRef};
从'@angular/forms'导入{ControlValueAccessor,NG_VALUE_ACCESSOR};
@组成部分({
选择器:“自定义输入”,
模板:“本地:{{val}}”,
供应商:[
{
提供:NG_值访问器,
useExisting:forwardRef(()=>CustomInputComponent),
多:真的
}
]
})
导出类CustomInputComponent实现ControlValueAccessor{
构造函数(){}
onChange:any=()=>{}
onTouch:any=()=>{}
val=“”
设定值(val){
如果(val!==未定义&&this.val!==val){
this.val=val
此.onChange(val)
这个.onTouch(val)
}
}
writeValue(值:任意){
this.value=value
}
注册变更(fn:任何){
this.onChange=fn
}
注册人(fn:任何){
this.onTouch=fn
}
}
HTML看起来像:



我使用的是
ngDefaultControl
,因为我想在表单之外使用它。现在的问题是,编译工作正常,但没有显示任何内容。代码中有错误吗?

对不起,我太笨了,因为我忘了在加载CustomInputModule的共享模块中导出组件。因为这样一个愚蠢的错误而失去了两个小时的生命……

我投票结束这个问题,因为a)OP已经回答了他自己的问题(忘记结束了?)b)如果OP没有提供答案,其他人可能无法回答这个问题