这次给大家带来实现完整的angular4 formtext组件需要哪些步奏,实现完整angular4 formtext组件的注意事项有哪些,下面就是实战案例,一起来看一下。
本文主要介绍了如何编写一个完整的angular4 formtext 组件,分享给大家,也给自己留个笔记
组件定义
import { component, output, input, forwardref, eventemitter} from '@angular/core';
import {controlvalueaccessor, ng_value_accessor} from '@angular/forms';
@component({
selector: 'form-text',
template: `
<p >
<label>{{label}}:</label>
<input type="text" [(ngmodel)]="value"
placeholder="{{placeholder}}" >
</p>
`,
providers: [
{
provide:ng_value_accessor,
useexisting:forwardref(()=>formtextcomponent),
multi:true
}
]
})
export class formtextcomponent implements controlvalueaccessor {
@input() label:string = '';
@input() placeholder: string='';
@output() onchange: eventemitter<any> = new eventemitter<any>();
public innervalue: any;
public changefn: function = () => {};
get value(): any {
return this.innervalue;
};
set value(v: any) {
if (v !== this.innervalue) {
this.innervalue = v;
this.changefn(v);
}
}
writevalue(value: any) {
if (value !== this.innervalue) {
this.innervalue = value;
}
}
registeronchange(fn: any) {
this.changefn = fn;
}
registerontouched(fn: any) {
//
}
}
组件使用
<form-text [(ngmodel)]="mobile" [placeholder]="placeholder" [label]="label"></form-text>
<p>{{mobile}}</p>
需要注意的点:
需要配置组件的providers
需要实现controlvalueaccessor接口
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
推荐阅读:
js如何匹配计算font-size
操作modal单次加载数据
以上就是实现完整的angular4 formtext组件需要哪些步奏的详细内容。