【问题标题】:How to pass date from date picker on button press (ng-bootstrap | Angular 2)如何在按钮按下时从日期选择器传递日期(ng-bootstrap | Angular 2)
【发布时间】:2017-03-12 21:04:21
【问题描述】:

我正在为 Angular 2 使用 ngbDatepicker,并且想将选定的日期传递给我的 getData() 方法,我只是提醒(日期)。我无法对示例代码进行逆向工程并使其工作。

Plunker 示例代码:按“弹出窗口中的日期选择器”旁边工具栏上的向下箭头。来自 ng-bootstrap 团队的原始示例代码。

https://ng-bootstrap.github.io/#/components/datepicker

在我的组件中,我添加了一个方法,我想将选定的日期放入其中。

import {Component} from '@angular/core';

@Component({
  selector: 'ngbd-datepicker-popup',
  templateUrl: './datepicker-popup.html'
})

export class NgbdDatepickerPopup {

  model;

  getData() {
    alert('How do I get the selected date here?');
  }
}

【问题讨论】:

    标签: angular ng-bootstrap


    【解决方案1】:

    从文档和 plunker 来看,您不需要传递任何东西。当您在模板中双向绑定模型时

    <ngb-datepicker #dp [(ngModel)]="model"></ngb-datepicker>
    

    日期选择器会自动更新组件中的模型。这就是[(ngModel)] 的工作原理。所以当你点击时,只需从模型中获取数据

    model: NgbDateStruct;
    
    getData() {
      alert(`${this.model.day}-${this.model.month}-${this.model.year}`);
    }
    

    【讨论】:

    • 我明白了,因为它是一个 NgbDateStruct。是否有从 Dom 到 Class 的单向绑定,在这里使用双向绑定?
    • @Paul Samsotha 触发 getData() 函数的按钮在哪里?我认为您仍然需要一个按钮来触发此功能。
    猜你喜欢
    • 2019-05-11
    • 1970-01-01
    • 1970-01-01
    • 2012-09-01
    • 1970-01-01
    • 2011-08-01
    • 1970-01-01
    • 2017-04-08
    • 1970-01-01
    相关资源
    最近更新 更多