格式化输入类型日期的ngModel的最佳方法

时间:2015-11-16 14:48:23

标签: angularjs angular-ngmodel html5-input-date

我知道input[date]需要来自JSON的日期类型,然后我用new Date(json.date)格式化ngModel值,它的作品

2015-11-15成为Mon Nov 15 2015 02:00:00 GMT+0200 (CEST)

但是我的网络服务需要值为字符串2015-11-15

确保它与输入配合使用的最佳方法是什么,但请保留给我的网络服务?

(我希望明白;))

1 个答案:

答案 0 :(得分:0)

在任何调用您的Web服务的控制器中,您都可以使用控制器中dom date:中使用的相同{{myDateObjectThatNeedsToBeFormatted | date: 'yyyy-MM-dd'}}过滤器。

只需注入$filter服务!!!

//Controller
angular.controller("myControllerThatCallsAWebservice", ["$scope","$filter", "myWebService", myNamedControllerFn]);

function myNamedControllerFn($scope, $filter, myWebService) {
   $scope.myDateVariableThatIsBoundToNgModel = new Date(2013, 9, 22);

   $scope.isolatedFnForConvertingYourDateToDesiredString = function alwaysNameFunctionsForDebuggingFn() {
       return $filter('date')($scope.myDateVariableThatIsBoundToNgModel, "yyyy-MM-dd")
   }

   myWebService.webServiceCallToDoStuff(
       $scope.isolatedFnForConvertingYourDateToDesiredString()
   );  
}