이 글에서는 주로 Angular5의 공개 구성 요소 목록을 추출하는 예제 코드를 소개합니다. 매우 훌륭하고 참고할만한 가치가 있습니다. 필요한 친구가 참고할 수 있습니다.
이 글에서는 Angular5의 공개 구성 요소 추출에 대해 설명합니다. 라디오 목록.
Radio List 구성 요소는 추출이 매우 편리하며 Checkbox만큼 복잡하지 않습니다.
radio-list.comComponent.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<any> = new EventEmitter<any>(); constructor() { } ngOnInit() { } changeSelected() { let data = { value: this.model, name: this.name }; this.onChange.emit(data); } }
radio-list.comComponent.html
<p *ngIf="list" class="form-row"> <p class="col-{{colNum}} mb-2" *ngFor="let item of list"> <p class="form-check abc-radio abc-radio-primary"> <input class="form-check-input" type="radio" [value]="item.id" [(ngModel)]="model" (change)="changeSelected()" name="{{name}}" id="{{name}}_{{item.id}}"> <label class="form-check-label" for="{{name}}_{{item.id}}"> {{item.name}} </label> </p> </p> </p>
관련 참조 모듈에 등록
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은 인용입니다 d는 다음과 같다 :
<app-radio-list [list]="sourceArr" [name]="'selectedSource'" [colNum]="12" [(selectModel)]="selectedSource" (selectChange)="selectChange($event)"> </app-radio-list>
위 단계를 따르지만 해당 selectChange($event)가 여전히 누락되었습니다.
selectChange(model: any) { this[model.name] = model.value; }
위 내용은 Angular5_AngularJS에서 공개 구성 요소의 라디오 목록을 추출하는 예제 코드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!