我有很多视图,每个视图都与使用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是否重复,没有。有什么想法吗?
答案 0 :(得分:2)
所有与日期相关的输入都需要模型 是一个Date对象。如果模型是其他东西,则会出现此错误 抛出
这是在提供的错误网址中找到的解释。
$scope.currentDate = new Date();
这对你有用。您提供格式化的日期字符串作为输入,这是不期望的。