【发布时间】:2015-08-09 21:41:37
【问题描述】:
我在使用 AngularJS 格式化只读字段中的日期时遇到问题。这是我的 html 代码 -
<div class="row">
<label class="col-md-2">Date Last Login:</label>
<div class="col-md-3">
<input type="datetime" name="dateLastLogin" class="form-control" data-ng-model="loginDate" readonly />
</div>
</div>
我已尝试在我的控制器中使用此代码对其进行格式化 -
$scope.$watch('vm.account.dateLastLogin', function(newValue) {
$scope.loginDate = $filter('date')(newValue, 'MM/DD/yyyy');
});
在控制器中设置一个断点,我看到函数被调用但没有显示任何内容。
如果我像这样离开我的 html -
<div class="row">
<label class="col-md-2">Date Last Login:</label>
<div class="col-md-3">
<input type="text" name="dateLastLogin" class="form-control" data-ng-model="vm.account.dateLastLogin" readonly />
</div>
</div>
我得到一个显示的值,其中包括日期和时间,但没有按照我的需要进行格式化。我错过了什么?
【问题讨论】:
-
您尝试输入 type="date"?
-
另外,MM/DD/yyyy 不是一个有效的模式(或者至少,它不会做你想要的)。而date、datetime-local等类型输入的文档说:模型必须始终是Date对象,否则Angular会抛出错误。
标签: angularjs