angularjs过滤日期,日期格式错误

时间:2017-01-24 13:54:08

标签: javascript angularjs html5

我有很多视图,每个视图都与使用angularjs的js控制器相关。 我有一个购买表格,其中有:

<input type="date" ng-model="currentDate">

在控制器js中我有:

$scope.currentDate=$filter('date') (new Date(), 'yyyy-MM-dd');

我在所有表单中都使用了这种方法并且运行正常,但在购买表单中,日期未设置为今天,而且在控制台中页面给了我:

angular.js:12450Error: [ngModel:datefmt] http://errors.angularjs.org/1.4.6/ngModel/datefmt?p0=2017-01-24
    at angular.js:38
    at Array.<anonymous> (angular.js:21769)
    at Object.<anonymous> (angular.js:25349)
    at n.$digest (angular.js:15751)
    at n.$apply (angular.js:16030)
    at angular.js:1660
    at Object.e [as invoke] (angular.js:4476)
    at d (angular.js:1658)
    at yc (angular.js:1678)
    at Xd (angular.js:1572)

我没有发现问题出在哪里。我检查了注射器($ filter),检查了ng-model是否重复,没有。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

  

所有与日期相关的输入都需要模型   是一个Date对象。如果模型是其他东西,则会出现此错误   抛出

这是在提供的错误网址中找到的解释。

$scope.currentDate = new Date();

这对你有用。您提供格式化的日期字符串作为输入,这是不期望的。