我在我的项目中使用
Angular UI datepicker.
该控件有一个选项“datepicker-popup”,它允许我设置我希望显示日期的格式.但是日期作为日期对象绑定到我的模型而不是格式化字符串.
我的其余代码只需要将日期作为正确(yyyy-MM-dd)格式的字符串.
目前,每当我需要使用日期时,我都会将其格式化为正确的字符串,然后再传递它.
这是现在的工作原理,因为代码库非常小,但是有一种更好的方式以某种方式将日期绑定到我的模型作为字符串,以便有人忘记在使用它之前格式化日期不会破坏系统.
我想也许我需要设置手表或其他东西,但不太确定正确的解决方案是什么.
解决方法
不,目前AngularUI和许多其他框架使用Date对象来绑定信息.每次需要将日期格式化为字符串时,需要将日期格式化为字符串.这样做的方法是创建一个像这样的函数
$scope.getMyDateAsString = function(){ return myDate.toString(); // or however you format your string. };
然后,只要你想获得字符串,你就可以调用这个函数.你可以创建一个观察者
$scope.$watch($scope.myDateModel,function(newVal,oldVal){ $scope.myDateAsString = $scope.getMyDateAsString(); });
这样,只要datepicker更改值,您就可以更改字符串的值.