我最近从Angular 1.2.5迁移到最新版本1.3-rc.3,从ui-bootstrap 0.7.0迁移到ui-bootstrap 0.11.2,我的代码中断了一些功能
我在一个页面上有两个日期选择器,它们最初都没有价值。 当用户输入第一个datepicker的值(通过datepicker或手动)时,我希望第二个datepicker填充相同的日期。
在我迁移之前,这很好,但现在第二个日期没有被格式化。
代码我正在使用......
<div class="input-group">
<input
class="form-control"
type="text"
name="datumVanaf"
ng-model="filter.datumVanaf"
placeholder="Datum vanaf (dd-mm-jjjj)"
datepicker-popup="dd-MM-yyyy"
required
datepicker-options="{{calendarOpties}}" is-open="kalender.datumVanafOpened"
clear-text="wis"
current-text="Vandaag"
close-text="Sluiten"
lower-than="{{filter.datumTM}}"
ng-class="{'error': filterForm.$submitted && filterForm.datumVanaf.$error.required || filterForm.datumVanaf.$error.lowerThan}"
/>
<span class="input-group-btn">
<button type="button" class="btn btn-default" ng-click="openDatumVanaf($event)"><i class="glyphicon glyphicon-calendar"></i></button>
</span>
</div>
<div class="input-group">
<input
class="form-control"
type="text"
name="datumTM"
ng-model="filter.datumTM"
placeholder="Datum t/m (dd-mm-jjjj)"
datepicker-popup="dd-MM-yyyy"
required
datepicker-options="{{calendarOpties}}"
is-open="kalender.datumTMOpened"
clear-text="wis"
current-text="Vandaag"
close-text="Sluiten"
ng-class="{'error': filterForm.$submitted && filterForm.datumTM.$error.required || filterForm.datumVanaf.$error.lowerThan}"
/>
<span class="input-group-btn">
<button type="button" class="btn btn-default" ng-click="openDatumTM($event)"><i class="glyphicon glyphicon-calendar"></i></button>
</span>
</div>
和观察者
$scope.$watch('filter.datumVanaf', function(newValue, oldValue) {
logger.info('newValue', newValue);
if (newValue != undefined && $scope.filter != undefined && $scope.filter.datumTM == undefined && isValidDate(newValue)) {
$scope.filter.datumTM = newValue;
}
});
日期开始显示在第一个输入字段中,如下所示:
28-09-2014
但是当它在第二个字段中被复制时,它没有被格式化:
Sun Sep 28 2014 00:00:00 GMT + 0200(West-Europa(zomertijd))
我不知道为什么它不再起作用,而且我在stackoverflow上找不到类似的情况时遇到了麻烦。我希望我能错过一些明显的东西,但我不知所措。
答案 0 :(得分:0)
尝试在filter.datumVanaf
的匿名函数中使用$ filter,然后再将其设置到视图中。所以代码可能与此类似:
$scope.filter.datumTM = $filter('date')(newValue,'dd-MM-yyyy');
没有测试过,但是你明白了;)
价: