首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NG2-数据报警器如何从打字代码中更改日期?

NG2-数据报警器如何从打字代码中更改日期?
EN

Stack Overflow用户
提问于 2017-05-04 10:07:28
回答 2查看 3.8K关注 0票数 2

我正在使用ng2-datepicker在我的角度应用程序,我想更新的日期,从类型记录文件。

在html模板中:

代码语言:javascript
复制
<ng2-datepicker [options]="optionsForMenuDate" [(ngModel)]="selectedDate" name="selectedDate"></ng2-datepicker>

它是绑定到矩对象的,所以我尝试这样更新它(我已经将矩包含在角解中):

代码语言:javascript
复制
this.selectedDate = this.moment(date);

要将日期设置为的js date对象。这只是将组件设置为null,即使这个this.selectedDate也不是null。

代码语言:javascript
复制
console.log(this.selectedDate); // logs a moment object

对于如何实现这一点,有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2017-06-06 18:01:01

我有同样的问题,我让它通过以下方式工作。

代码的问题在下面一行,

代码语言:javascript
复制
[(ngModel)]="selectedDate"

在这里,属性'selectedDate‘应该是'DateModel’类型,而不是矩对象。DateModel定义为,

代码语言:javascript
复制
import {DateModel} from "ng2-datepicker";

它有以下特性,

代码语言:javascript
复制
export declare class DateModel {
    day: string;
    month: string;
    year: string;
    formatted: string;
    momentObj: moment.Moment;
    constructor(obj?: IDateModel);
}

现在,您需要设置、momentObj、格式的属性,以使其正常工作。

这是示例代码,

代码语言:javascript
复制
let dateModel:DateModel = new DateModel();
let momentObj = moment('05-11-1986', "MM-DD-YYYY");
dateModel.momentObj = momentObj;
dateModel.formatted = momentObj.format();
this.selectedDate = dateModel;
票数 1
EN

Stack Overflow用户

发布于 2018-10-29 12:27:16

可以使用setStartDate进行更新,test.ts文件如下所示

代码语言:javascript
复制
import { Component, ViewChild, OnInit, ElementRef } from '@angular/core';
import { DaterangePickerComponent } from 'ng2-daterangepicker';

@Component({
  selector: 'test',
  templateUrl: './test.html',
  styleUrls: ['./test.css']
})
export class TestComponent implements OnInit {

 // @ViewChild(DaterangePickerComponent) this line is very important
  @ViewChild(DaterangePickerComponent)
  private picker: DaterangePickerComponent;

  constructor() { }

  ngOnInit() {}

  ngAfterViewInit(){

    // get previous day for start date
    let startDate = new Date();
    startDate.setDate(startDate.getDate() - 1);

    // get next day for start date
    let endDate = new Date();
    endDate.setDate(endDate.getDate() + 1);

    this.picker.datePicker.setStartDate(startDate);
    this.picker.datePicker.setEndDate(endDate);

  }

}

html如下所示

代码语言:javascript
复制
<input type="text" class="form-control form-control2"  name="daterangeInput" daterangepicker [options]="options" />
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43779879

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档