コンポーネントで変更が発生した場合、必要なフィールドの検証を実行します。このコンポーネントには、ユーザが次のページに進むために記入する必要がある複数の必須項目があります。私の考えは、それらのいずれかが空であるか空である場合に必須フィールドをチェックする関数を呼び出すことでした。角度検出での変更検出の使用方法
私の問題は、これを実装する方法の例を見つけることができないということです。以下は私が今までに得たものです。
import { Component, Injectable, OnInit, Input, ChangeDetectorRef } from '@angular/core'
import { HttpModule } from '@angular/http';
import { CarReqFormService } from './carReqForm.service';
import { DropDownListItem } from './carReq-dropdownItem';
import { IMyOptions, IMyDateModel } from 'ngx-mydatepicker';
import { surgeryReservationModel } from './carReservationModel';
import { Router, ActivatedRoute, Params } from '@angular/router';
import { Location } from '@angular/common';
import 'rxjs/add/operator/switchMap';
import { AutoCompleteBoxRequest } from './autoCompleteBoxRequest';
@Component({
moduleId: module.id,
selector: 'uh-carReservationFormPage3',
templateUrl: './carReservationFormPage3.html',
providers: [carReqFormService]
})
export class carReservationFormPage3Component implements OnInit {
SurgicalPositionItems: DropDownListItem[];
private loading: boolean = true;
carReservationModel = new carReservationModel();
public isBusy: boolean;
constructor(private _carRequestFormService: carReqFormService,
private route: ActivatedRoute ,
private _router: Router,
private ref: ChangeDetectorRef) {
}
ngOnInit(): void {
this.getActivecaricalPositions();
this.isBusy = true;
var test;
this.route.params
.switchMap((params: Params) => this._carRequestFormService.getcarRequestById(+params['id']))
.subscribe(
data => {
this.carReservationModel = data;
this.isBusy = false;
},
error => {
console.log("Error", error);
this.isBusy = false;
},
() => {
console.log("Inside NgOnInit on Page 3" + this.carReservationModel.carRequestId);
this.isBusy = false;
});
}
}
私は、検証ルールの上に行くために私の機能を発射するために呼び出すことができます任意の変化にトリガーされます機能はありますか?
Angularがコンポーネントの変更検出を実行するたびにngDoCheckが起動され、@Inputが変更されたときにonChangesが起動されますが、 –