本文给大家说一下Radio List的公共组件提取。

目前创新互联建站已为成百上千的企业提供了网站建设、域名、虚拟主机、网站托管、服务器托管、企业网站设计、回民网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
Radio List组件提取起来很方便,不想Checkbox那么复杂。
radio-list.component.ts
import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
import { RadioItem } from '../../model/radio';
import { NgModel } from '@angular/forms';
@Component({
selector: 'app-radio-list',
templateUrl: './radio-list.component.html',
styleUrls: ['./radio-list.component.css']
})
export class RadioListComponent implements OnInit {
@Input() list: RadioItem[];
@Input() name: string;
@Input() colNum: number = 6;
@Input("selectModel") model: string;
@Output("selectChange") onChange: EventEmitter = new EventEmitter();
constructor() { }
ngOnInit() {
}
changeSelected() {
let data = { value: this.model, name: this.name };
this.onChange.emit(data);
}
} radio-list.component.html
在相关引用的module中注册
import { RadioListComponent } from '../components/radio-list/radio-list.component';
export const routes = [
{ path: '', component: xxxComponent, pathMatch: 'full' }
];
@NgModule({
imports: [...],
declarations: [...
, RadioListComponent
, ...],
providers: []
})
export class xxxModule {
static routes = routes;
}对应的html中引用如下:
按照如上步骤,还缺少对应的selectChange($event):
selectChange(model: any) {
this[model.name] = model.value;
}总结
以上所述是小编给大家介绍的Angular5中提取公共组件之radio list的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对创新互联网站的支持!