angular — Angular2: Как использовать JavaScript Date Object с NgModel для двухстороннего связывания

демонстрация

Конечно, есть демо по адресу: http://johanneshoppe.github.io/angular-date-value-accessor/

Это все на NPM и Github

Для вашего удобства я создал проект angular-data-value-accessor на Github. Также доступен пакет NPM:

npm install --save angular-date-value-accessor 

Затем просто импортируйте модуль через NgModule:

 // app.module.ts import { DateValueAccessorModule } from 'angular-date-value-accessor'; @NgModule({ imports: [ DateValueAccessorModule ] }) export class AppModule { } 

Теперь вы можете применить «useValueAsDate» к элементам управления вводом даты.

Старый ответ:

PLUNKER

Вам необходимо преобразовать объект даты в формат ввода type = «date», который имеет формат гггг-мм-дд, вот как это будет работать

Шаблон:

Компонент (ТС):

 export class App { startDate: any; constructor() { this.startDate = new Date(2005, 1, 4); } set humanDate(e){ e = e.split('-'); let d = new Date(Date.UTC(e[0], e[1]-1, e[2])); this.startDate.setFullYear(d.getUTCFullYear(), d.getUTCMonth(), d.getUTCDate()); } get humanDate(){ return this.startDate.toISOString().substring(0, 10); } } 

ОБНОВИТЬ:

Когда я написал этот ответ, DatePipe не существовало, теперь вы можете просто сделать это

Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector