我有以下输入显示日期时间
<div ng-repeat="item in items">
<input type="text" ng-model="item.name" />
<input ng-model="item.time" />
</div>
我遇到的问题是时间是以下格式。
"2002-11-28T14:00:00Z"
我想只显示时间部分。我将不得不应用过滤器
date: 'hh:mm a'
I tried
ng-model="labor.start_time | date: 'hh:mm a'"
如何仅在输入框中显示时间部分?我不能使用span标记作为用户可以更改的时间,因此必须在输入标记中显示。
答案 0 :(得分:0)
item.time
。因此,当您仅将输入内容更改为时间值时,item.time
也将仅包含时间部分。如果时间值发生变化,您需要一个额外的变量来保存时间部分并更新日期时间值。您可以使用$ watch来获取
$scope.$watch('item.time_portion', function(newValue, oldValue) {
// update the hours and minutes of $scope.item.time here
});
答案 1 :(得分:0)
如上所述,高尔说,你可以使用观察者。
<div ng-controller="MyCtrl">
<input ng-model="currentDate">
</div>
function MyCtrl($scope, $filter) {
$scope.currentDate = new Date();
$scope.$watch('currentDate', function(date){
$scope.currentDate = $filter('date')(date, 'shortTime');
});
}
这与您的示例有效JSFiddle。