angularjs - 在angularjs中使用ui-date时如何将初始值设置为ng-model

标签 angularjs angular-ui

我的模型基于 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'}}" 部分,但如果没有它,输入就不会不加载模型中的值。

当我选择日期时,模型已绑定(bind)并正常运行,但在页面加载时它仅显示为空。

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

最佳答案

使用 ui-dateng-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>

Controller 的定义如下:

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

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

关于angularjs - 在angularjs中使用ui-date时如何将初始值设置为ng-model,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13654420/

相关文章:

javascript - 当元素从 dom 中消失时,更改事件保持事件状态

javascript - ExpressJS 在 html5 模式上进行更深层次的 url 链接时呈现错误的静态路径

javascript - 如何将 ng-repeat 分成批处理

javascript - Angular 无限滚动 : scroll bar on body not on div

javascript - 对 ng-repeat 中的行进行编号

angularjs - 确定 Controller 中是否启用了 HTML5 模式

twitter-bootstrap - 可以一次在轮播中显示两张幻灯片吗?

javascript - 在 Angular UI Bootstrap 日期选择器中附加工作日标签的点击事件

javascript - 如何从另一个处理程序触发 angularjs 事件处理程序?

angularjs - angular - 获取服务中的 Controller 实例