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

时间:2015-12-05 12:37:17

标签: javascript angularjs ionic-framework ionic

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

如果输入类型为文字,我的代码可以使用。但如果我定义日期类型,它就不起作用。

HTML code:

<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();

1 个答案:

答案 0 :(得分:1)

您应该使用new Date()代替。你不需要过滤。

  

模型必须始终是Date对象,否则Angular会抛出错误。无效的Date对象(getTime()为NaN的日期)将呈现为空字符串。

AngularJs documentation for input[data]