4

我的模型基于 JSON 对象,日期为 2012-12-13T00:00:00-07:00

我想使用日期选择器 ui-date。

我有以下有效的代码。

<input ng-model="course.startDate" value="{{item.startDate | date: 'MM/dd/yyyy'}}" ui-date ng-required="true">

但是,我认为我不应该使用该value="{{item.startDate | date: 'MM/dd/yyyy'}}"部件,但没有它,输入不会加载模型中的值。

当我选择一个日期时,该模型已绑定并正常运行,但在页面加载时它只是显示为空。

初始化此输入的正确方法是什么?

4

2 回答 2

3

使用ui-dateandng-model就足够了:

<div ng-controller="MyCtrl">
  <input ng-model="date" ui-date>
</div>

前提MyCtrl是定义如下:

function MyCtrl($scope) {
    $scope.date= new Date();
}​

这是一个 jsFiddle:http: //jsfiddle.net/MvGFF/2/

您必须知道的是ui-date 期望模型值是 Date 的一个实例,也许您正在传递一个字符串(或其他类型)值?

如果您的模型包含字符串值并且您仍想使用日期选择器,则需要添加ui-date-format如下示例中的指令:

<input ng-model="date" ui-date ui-date-format>

控制器的定义如下:

function MyCtrl($scope) {
    $scope.date= "2012-12-13T00:00:00-07:00";
}​

这是一个 jsFiddle:http: //jsfiddle.net/d4xz2/1/

于 2012-11-30T23:26:12.863 回答
-1

这很好用:

<input type="text" ng-model="nota.fechaPub" value="{{nota.fechaPub}}" ui-date ui-date-format>

其中 $scope.nota.fechaPub 值为“2013-01-14T23:00:00.000Z”

文本框中显示的值为“01/15/2013”

于 2013-02-12T22:43:43.147 回答