【问题标题】:ng2-datepicker with format option and ngModel returning [object Object]带有格式选项的 ng2-datepicker 和 ngModel 返回 [object Object]
【发布时间】:2017-06-05 17:54:12
【问题描述】:

我正在尝试使用 ng2-datepicker 选择日期,然后将其显示在表格上。我遇到的问题是绑定到我选择的日期不起作用。我想这与我制作的格式选项(DD.MM.YYYY)有关。在我的 html 中,我有以下代码:

<ng2-datepicker [(ngModel)]="date" [options]="datepickeroptions"></ng2-datepicker>

带有 typescript 的 datepickeroptions 是这样的:

this.datepickeroptions = {
  format: "DD.MM.YYYY",
  locale: "de",
};

我尝试将日期变量初始化为日期和字符串,但它们都不起作用。尽管输入容器中的值看起来不错,但我只从 ngModel 获得 [object Object] 作为值。提前感谢您的帮助。

【问题讨论】:

    标签: angular ng2-datepicker


    【解决方案1】:

    你应该使用香蕉盒符号而不是只使用盒子:

    [(ngModel)]="date"
    
    • ():从视图到控件数据绑定
    • []:从控件到视图数据绑定
    • [()]:2 路数据绑定

    【讨论】:

    • 对不起,这是一个错误,因为尝试或复制。在我的项目中是香蕉盒符号,但仍然不起作用。我改编了上面的代码。会不会是别的?
    • 刚刚尝试注释掉选项和其他所有内容,我什至从npmjs.com/package/ng2-datepicker 复制了示例,但它不起作用,我总是得到带有“选项 A”的“对象对象”解释页。它适用于任何人吗?
    【解决方案2】:

    终于找到了解决办法!起初我发现 json 管道给了我正确的属性。然后我在我的任何类型的 .ts 文件上创建了一个截止日期输入,并在 OnInit 中像这样初始化它:

     this.deadlineinput = {
            formatted: ''
        };
    

    在这里,还可以添加他想要访问的其他选项(json 在 html 上看起来像这样:

    { "day": "05", "month": "01", "year": "2017", "formatted": "05.01.2017", "momentObj": "2017-01-04T23:00:00.000Z" }
    

    我把这个放在 .hmtl 上:

    <ng2-datepicker [(ngModel)]="deadlineinput" [options]="datepickeroptions"></ng2-datepicker> <label> selected date is: {{deadlineinput.formatted}} </label>
    

    我知道它不应该是这样的,我在 github 上为当前版本打开了一个问题,但至少这是一个对我现在有帮助的解决方法。

    【讨论】:

      猜你喜欢
      • 2016-11-19
      • 2019-03-14
      • 2012-03-02
      • 1970-01-01
      • 2013-09-13
      • 2015-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多