【发布时间】:2015-01-03 03:54:45
【问题描述】:
使用 AngularJS 我正在尝试使用输入 type=date 显示日期:
<input ng-model="campaign.date_start" type="date">
但是,这会产生以下错误:
Error: error:datefmt
Model is not a date object
日期实际上来自以下格式的 JSON API:
date_start": "2014-11-19"
我认为我可以通过使用过滤器来解决它,但这不起作用,我得到了同样的错误:
<input ng-model="campaign.date_start | date" type="date">
我也尝试将字符串转换为日期,但我再次收到相同的错误:
$scope.campaign.date_start = Date(campaign.date_start);
我还能尝试什么?
【问题讨论】:
-
如果您尝试在控制台
new Date("2014-11-19");中执行此操作,它可以正常工作,所以问题出在您的数据表示中。 -
Filter 不能在 ng-model 指令中使用,因为它必须是可赋值语句(即您必须能够为其赋值)。我没有尝试过下面提到的指令方法,但我确实找到了一个 $http 拦截器方法,它将日期格式的对象转换为 JavaScript 日期。这可以在aboutcode.net/2013/07/27/json-date-parsing-angularjs.html 找到
标签: javascript angularjs date