H有2个角度日期输入。 dateFrom和DateTo。它们都是日期对象,但是当我将输入更改为另一天时,范围仍然显示“新日期”值...而不是更新的值?
JS
//set dates
$scope.getFromDate = function() {
$scope.dateFrom = new Date();
}
$scope.getToDate = function() {
$scope.dateTo = new Date();
}`
查看
<div>
<label class="item item-input" style="margin-left:0">
<span class="input-label">van</span>
<input type="date" ng-model="dateFrom" ng-init="getFromDate()">
</label>
<label class="item item-input" style="margin-left:0">
<span class="input-label">tot</span>
<input type="date" ng-model="dateTo" ng-init="getToDate()">
</label>
{{dateFrom}}
稍后在另一个函数中我发送dateFrom和dateTo变量如下
$scope.getComp = function() {
var dateTo = $scope.dateTo.getDate()+'-'+$scope.dateTo.getMonth()+1+'-'+$scope.dateTo.getFullYear();
var dateFrom = $scope.dateFrom.getDate()+'-'+$scope.dateFrom.getMonth()+1+'-'+$scope.dateFrom.getFullYear();
但即使我已将视图上的输入更改为另一个日期.. dateFrom和dateTo仍显示“当前”日期?
答案 0 :(得分:0)
您的输入中不需要ng-init
。
另外date
输入需要yyyy-MM-dd
格式的日期,因此最好使用$scope.dateFrom = $filter("date")(new Date(), 'yyyy-MM-dd');
初始化
如此简单:
function Ctrl($scope, $filter) {
$scope.dateFrom = $filter("date")(new Date(), 'yyyy-MM-dd');
$scope.dateTo = $filter("date")(new Date(), 'yyyy-MM-dd');
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.9/angular.min.js"></script>
<div ng-app>
<div ng-controller="Ctrl">
<label class="item item-input" style="margin-left:0">
<span class="input-label">van</span>
<input type="date" ng-model="dateFrom">
</label>
<div>dateFrom : {{dateFrom}}</div>
<Br/>
<label class="item item-input" style="margin-left:0">
<span class="input-label">tot</span>
<input type="date" ng-model="dateTo">
</label>
<div>dateTo : {{dateTo}}</div>
</div>
</div>
&#13;