离子输入日期默认设置为今天

ionic input date set default to today

我正在开发 Ionic 应用程序。我正在尝试在输入日期上设置默认日期(今天)。

如果输入类型是文本,我的代码就可以工作。但是如果我定义一个 日期类型 .

它就不起作用了

HTML 代码:

<html ng-app="ionicApp">

<head>
  <meta charset="utf-8">
  <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">

  <title>Date with Ionic</title>

  <link href="//code.ionicframework.com/nightly/css/ionic.css" rel="stylesheet">

  <script src="//code.ionicframework.com/nightly/js/ionic.bundle.js"></script>

</head>

<body ng-controller="GraphCtrl">

  <ion-header-bar class="bar-positive">
    <h1 class="title">Ionic Date</h1>
  </ion-header-bar>

  <ion-content>
    Text : <input type="text" ng-model="date_rdv" />
    Date : <input type="date" ng-model="date_rdv" />
  </ion-content>

</body>
</html>

我的 JS 代码:

angular.module('ionicApp', ['ionic'])

.controller('GraphCtrl', function($scope, $filter) {
  $scope.date_rdv = $filter('date')(Date.now(), 'yyyy-MM-dd');
});

你有什么想法吗?

Codepen.io link

解决方案(根据Elec的回答)

为了定义日期输入的默认值(不适用于文本输入),模型的定义必须如下:

$scope.date_rdv = new Date();

您应该改用 new Date()。你不需要过滤。

The model must always be a Date object, otherwise Angular will throw an error. Invalid Date objects (dates whose getTime() is NaN) will be rendered as an empty string.

AngularJs documentation for input[data]