如何使用AngularJS进行双向绑定的格式过滤

时间:2013-11-21 20:34:54

标签: json wcf rest angularjs data-binding

在页面上我<input type="text" />,用户将以31/12/2013格式输入日期。此输入字段应绑定到$scope.startDate字段。但是在$scope.startDate上,我必须以下列格式"/Date(1385063675188)/"(WCF REST服务日期格式)存储日期。

问题:如何在html输入和AngularJS模型之间进行双向绑定,其中两者的日期格式不同(dd/MM/yyyy"/Date(1385063675188)/")。

2 个答案:

答案 0 :(得分:4)

我会使用指令。像这样:

directives.directive('dateConverter', ['$filter', function($filter) {
    return {
      require: 'ngModel',
      link: function(scope, element, attrs, ngModelController) {
        ngModelController.$parsers.push(function(date) {
          // Do to model conversion
        });

        ngModelController.$formatters.push(function(date) {
          // Do to view conversion, possibly using $filter('date')
        });
      }
    };
  }]);

答案 1 :(得分:3)

您可以使用scope.$watch

scope.$watch("model", function (newValue) {
    scope.formattedModel = convertToWcfFormat(newValue);
});