AngularJS - 初始化DATE输入

时间:2017-05-03 05:40:16

标签: javascript angularjs

我有一个应用程序,其中有几个日期字段需要接受来自用户和数据库的值。

我找到了this解决方案,但仍然收到错误消息

  

错误:[ngModel:datefmt]

     

http://errors.angularjs.org/1.5.8/ngModel/datefmt?p0=2017-05-03

我的代码是(你可以看到我在评论中做过多次尝试):

var xx = $filter("date")(Date.now(), 'yyyy-MM-dd');
var yy = $filter("date")(Date.now(), 'yyyy-MM-dd');

$rootScope.Global.Time_Window_From = xx; // $filter("date")(Date.now(), 'yyyy-MM-dd'); //'2017-05-02' ; //Date.now() ; //$filter("date")(Date.now(), 'yyyy-MM-dd') ;
$rootScope.Global.Time_Window_To   = yy; // $filter("date")(Date.now(), 'yyyy-MM-dd'); //'2017-05-02' ; //Date.now() ; //$filter("date")(Date.now(), 'yyyy-MM-dd') ;

此外,将 DATE 数据与SQL-Server数据库交换的最佳方式是什么?

提前致谢。

1 个答案:

答案 0 :(得分:1)

Angularjs的文档:

  

所有与日期相关的输入都要求模型为日期对象。如果模型是其他的,则会抛出此错误

您应该仅使用date-type数据绑定到date-type输入。 按new Date(parameter)将生成数据的日期对象。



angular.module("app", [])
  .controller("myCtrl", function($scope, $filter) {
    //$scope.testDate = $filter('date')(Date.now(), 'yyyy/MM/dd');
    $scope.testDate = new Date('2017-05-03');
  });

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
<div ng-app="app" ng-controller="myCtrl">
  <input type="date" ng-model="testDate">
</div>
&#13;
&#13;
&#13;