javascript - 无法更改为日期类型的输入分配的默认值 AngularJS

标签 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)

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

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

日志结果

dateFrom Wed Sep 13 2017 11:22:26 GMT+0100 (Western European Summer Time)
tab.accountStatement.controller.js:261 $scope.params.startDate Wed Sep 13 2017 11:22:26 GMT+0100 (Western European Summer Time)

它保留了我之前分配的默认值,但为什么呢?我怎样才能改变这个值?

最佳答案

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>

关于javascript - 无法更改为日期类型的输入分配的默认值 AngularJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52311722/

相关文章:

java - 如何编写用户输入的二维数组?

javascript - 无法识别 AngularJS ng-focus 和 ng-blur

javascript - 使用 NightwatchJS 模拟文件上传 (DropzoneJS)

javascript - 在 Flow 0.34 中定义自定义 `toString`

javascript - 如何让子窗口保持在顶部?

php - angularjs - 如何同时将数据保存到两个表中

javascript - 如何在 Jquery 中设置每个按钮的功能?

angularjs - Visual Studio 2013 AngularJS 智能感知支持

javascript - Angular 自定义指令链接函数不接受 'restrict'

javascript - 在 Angular 2 中禁用按钮