使用ngModel创建组件
Posted llcmite
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用ngModel创建组件相关的知识,希望对你有一定的参考价值。
@angular/forms里有个接口用来实现支持[(ngModel)],具体可查ControlValueAccessor,这边还未深入理解只是为了开发组件而初步了解
interface ControlValueAccessor writeValue(obj: any): void registerOnChange(fn: any): void registerOnTouched(fn: any): void ...
我们要做的事就是实现这个接口
import NG_VALUE_ACCESSOR,ControlValueAccessor from "@angular/forms" @Component( selector: ‘app-search-select‘, templateUrl: ‘./search-select.component.html‘, styleUrls: [‘./search-select.component.less‘], providers: [ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SearchSelectComponent), multi: true ] )
export class SearchSelectComponent implements ControlValueAccessor
writeValue(obj: any): void
registerOnChange(fn: any): void
registerOnTouched(fn: any): void
registerOnChange(fn: any): void
registerOnTouched(fn: any): void
以上是关于使用ngModel创建组件的主要内容,如果未能解决你的问题,请参考以下文章
在 Angular 2 中加载第一页时设置 [(ngModel)] 的值
Angular7 - [ngModel] 不会在组件中更新,当两次输入相同的值时
子组件中的 Angular 2 ngModel 更新父组件属性
在 textarea 上使用 [(ngModel)] 绑定时如何避免 ExpressionChangedAfterItHasBeenCheckedError