В Angular-7 я пытаюсь использовать опцию select внутри машинописи Angular для создания даты рождения с разделением дня, месяца и года.
client.component.ts
import { Component, OnInit, ElementRef, NgZone, ViewChild } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { ApiService } from '../../shared/services/api.service';
import { TokenService } from '../../shared/services/token.service';
import { Router } from '@angular/router';
const getMonth = (idx) => {
var objDate = new Date();
objDate.setDate(1);
objDate.setMonth(idx-1);
var locale = "en-us",
month = objDate.toLocaleString(locale, { month: "long" });
return month;
}
@Component({
selector: 'app-client-quotes-landing',
templateUrl: './client-quotes-landing.component.html',
styleUrls: ['./client-quotes-landing.component.scss']
})
export class ClientQuotesLandingComponent implements OnInit {
public title = 'Places';
public addrKeys: string[];
public addr: object;
months = Array(12).fill(0).map((i,idx) => getMonth(idx + 1));
public form = {
first_name : null,
last_name : null,
dob_day : null,
dob_month : null,
dob_year : null,
};
public error = {
'first_name' : null,
'last_name' : null,
'dob_day' : null,
'dob_month' : null,
'dob_year' : null,
};
public get days() {
const dayCount = this.getDaysInMonth(this.form.dob_year, this.form.dob_month);
return Array(dayCount).fill(0).map((i,idx) => idx +1)
}
public getDaysInMonth(year: number, month: number) {
return 32 - new Date(year, month - 1, 32).getDate();
}
constructor(
private api: ApiService,
private token: TokenService,
private router: Router,
private notify: SnotifyService,
private zone: NgZone,
) {
}
ngOnInit() {
}
}
Я хочу получить доступ к dob_month и dob_year из:
public form = {...}
Затем я получил эту ошибку:
ОШИБКА вsrc / app / pages / client-quotes-landing / client-quotes-landing.component.ts (94,47): ошибка TS2339: Свойство 'dob_year' не существует для типа 'ClientQuotesLandingComponent'. src / app / pages / client-quotes-landing / client-quotes-landing.component.ts (94,62): ошибка TS2339: свойство 'dob_month' не существует для типа 'ClientQuotesLandingComponent'.
Произошла ошибка:
public get days() {
const dayCount = this.getDaysInMonth(this.form.dob_year, this.form.dob_month);
return Array(dayCount).fill(0).map((i,idx) => idx +1)
}
Как мне устранить эту ошибку?