无法将分配的默认值更改为日期为angularjs类型的输入

时间:2018-09-13 10:24:30

标签: javascript angularjs input

我有以下输入内容

 <input type="date" ng-model="startDateInput" ng-change="dateConvert()" />

我设置了默认值,因为我是在页面加载时调用服务,并且需要将日期作为参数传递

$scope.startDateInput = new Date(new Date().setFullYear(new Date().getFullYear() - 1));
console.log("$scope.startDateInput" + $scope.startDateInput)

但是后来我希望当用户触摸日期输​​入并在弹出的日历上选择一个新日期时更新此值。 问题是,我的价值在这里没有改变。 保持与默认值相同。

$scope.dateConvert = function() {
  var dateFrom = $scope.startDateInput;
  $scope.params.startDate = dateFrom;
  console.log("dateFrom " + dateFrom);
  console.log(" $scope.params.startDate  " + $scope.params.startDate);
}

日志结果

  

dateFrom 2017年9月13日星期三11:22:26 GMT + 0100(西欧夏令时)
      tab.accountStatement.controller.js:261 $ scope.params.startDate 2017年9月13日星期三11:22:26 GMT + 0100(西欧夏令时)

它保留了我之前分配的默认值,但是为什么呢?如何更改此值?

1 个答案:

答案 0 :(得分:0)

angular.module('MyApp', [])
.controller('MyCtrl', function($scope,$filter){
  $scope.default_date =$filter("date")(Date.now(), 'yyyy-MM-dd');
  
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.6/angular.min.js"></script>
<div ng-app="MyApp">
  <div ng-controller="MyCtrl">
  <input type="date" ng-model="default_date" value="{{default_date}}">
  <p>{{default_date}}</p>
  </div>
</div>