Javascript Angularjs:使用ng模型输入的Angularjs中的日期类型返回未定义

Javascript Angularjs:使用ng模型输入的Angularjs中的日期类型返回未定义,javascript,angularjs,Javascript,Angularjs,大家好,我在使用日期类型和ng模型时遇到了一些问题。在my index.html中,我有如下输入字段: <input class="form-control" type="date" id="date" ng-model="myData.date" /> <button type="submit" class="btn btn-primary" ng-click="myExample()">Submit</button> 在我的控制台中,我得到日志“日期:未

大家好,我在使用日期类型和ng模型时遇到了一些问题。在my index.html中,我有如下输入字段:

<input class="form-control" type="date" id="date" ng-model="myData.date" />
<button type="submit" class="btn btn-primary" ng-click="myExample()">Submit</button>
在我的控制台中,我得到日志“日期:未定义”

为什么我有未定义的值,这似乎是什么问题?谢谢


顺便说一下,我正在使用“引导数据采集器”

你必须初始化你的
myData
对象

var-app=angular.module('myApp',[]);
应用程序控制器('myCtrl',函数($scope){
$scope.myData={};//创建对象
$scope.myExample=function(){
log('date:',$scope.myData.date);
}
});

提交

另一种解决方案是通过函数传递日期值

我就是这样做到的

代码:


提交
angular.module(“myApp”,[])
.controller(“myController”,函数($scope){
$scope.myExample=函数(日期){
控制台日志(日期);
警报(日期);
}
})
您还可以使用angularjs中提供的日期过滤器。请参阅此处的文档
以下是使用引导数据采集器所需的解决方案

var-app=angular.module('myApp',[]);
应用程序控制器('myCtrl',函数($scope){
$scope.myData={}
$scope.myData.date=新日期();
$scope.myExample=function(){
调试('date:',$scope.myData.date);
log('date:',$scope.myData.date);
}
});

$('#date')。日期选择器()
提交

您是否已选择日期并单击“输入”。因为它在我的浏览器中工作正常。是,已选择日期。但是,当我点击btn时,它总是未定义的。你敢用控制器作为语法吗?是的。当我尝试将类型更改为文本时,我得到的是日期,但它不在日期格式中。如果您使用任何日期选择器,您如何在文本框中获得日期,除非您使用选择器。嗯。。你使用什么日期选择器?我只是复制了你的代码,我没有使用任何外部库。这是默认的日期选择器,所以我认为问题在于我的日期选择器。因为我尝试了你的建议,但仍然得到未定义的数据,以及$scope.myData中保存了什么?这也是未定义的吗?yhup未定义,但当我将type更改为text时,它会给出一个字符串日期format@Arnold,请检查这个答案。
$scope.myExample = function() {
    console.debug('date : ', $scope.myData.date);
}
<!DOCTYPE html>
<html ng-app="myApp">

  <head>
    <link rel="stylesheet" href="style.css">
 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
  </head>

  <body ng-controller="myController">
    <input class="form-control" type="date" id="date" ng-model="myData.date" />
<button type="submit" class="btn btn-primary" ng-click="myExample(myData.date)">Submit</button>
<script>

  angular.module("myApp",[])
  .controller("myController",function($scope){
    $scope.myExample = function(date) {
      console.log(date);
    alert(date);
}

  })
</script>
  </body>

</html>