【发布时间】:2017-03-27 22:39:24
【问题描述】:
我试图在我的视图中显示一个日期对象。
我关注了这些文档:https://docs.angularjs.org/api/ng/input/input%5Bdate%5D
但没有成功。
我确实有相同的代码:(编辑:删除了 controllerAs 语法并添加了 $scope)
<input type="date" name="birthDate" ng-model="example.value"
placeholder="yyyy-MM-dd" min="2013-01-01" max="2013-12-31" required />
还有我的对象:
$scope.example = {
value: new Date(2013, 9, 22)
};
但我仍然收到错误
错误:[ngModel:datefmt] 预期
2013-10-22是一个日期
有谁知道是什么导致了这个问题?我尝试在网上查找,但我找到的所有答案都说日期对象无效,我很确定我的不是。 (或者是吗??)
编辑:
由于很多人无法理解我的问题是什么,让我用一个 jsfiddle 来说明:http://jsfiddle.net/j2kof5at/
在输出中,我看到的是“dd-mm-2013”而不是“22-10-2014”。这是为什么呢?
编辑 2:(解决方案)
我尝试的解决方案之一是将 angular-input-date 模块添加到我的项目中。我刚刚从我的项目中删除了它,似乎问题已经解决了。阅读我发现的这个模块的文档:
AngularJS 的最新稳定版本 (~1.2.26) 不支持 input[type="date"]。仅添加了对 Angular 1.3 分支的支持,该分支现在处于测试阶段。
由于我使用的是 angular 1.5.x,因此已经有对此的本机支持,而这个模块实际上是导致问题的原因。这也解释了为什么我的 jsfddle 不起作用,因为那是使用 angular 1.0.1
【问题讨论】:
-
也许是
that.example.value而不是user.example.value -
不,that.example.value 基本上是 $scope.example.value 并使用 ControllerAs 语法和 UserController 作为用户
-
在您提供的 jsfiddle 中,我看到的是 dd-mm-2013,而不是实际日期
标签: javascript angularjs html date