如何在angularjs控制器中使用转换器对象的值

时间:2014-03-05 08:05:17

标签: angularjs object converter hijri

我的angularjs控制器中有控制器

.controller('taskCtrl', ['$scope', function ($scope) {
    $scope.getRef = function () {
       return getTask();
    };

    $scope.save = function () {
          $.extend(true, getTask(), $scope.data);
    };
}])

和我的模板:

<tr>
  <td>
    <label class="ngTemplateTitle" > create Date</label>
  </td>
  <td>
    <input class="form-control" id="data.creationDate" type="text"ng-model="data.creationDate"/>
  </td>
</tr>

我需要转换并查看格里高利日期到表格中的hijri。 然后在用户修改对象的值后将hijri转换为格里高利日期。

1 个答案:

答案 0 :(得分:1)

您熟悉moment.js吗?

你可以将它导入你的项目(非常轻的文件),并实现一个角度过滤器,以你想要的方式解析它......

类似的东西:

angular.module('myFilters').filter('formatDateExample', function() {
var defaultFormat = "l";
return function(timestamp, format) {
    format = format || defaultFormat;
    return timestamp ? moment(new Date(timestamp)).format(format) : null;
    // when you'll call the filter from the HTML, it will parse it to gregorian date
};

});

在html模板中:

<div>{{myDateVar | formatDateExample }}</div>

或直接使用HTML自定义格式:

<div>{{myDateVar | formatDateExample: "DD/MM/YYYY, HH:MM" }}</div>

我们的想法是以相同的方式保存您的日期,并且只有当您想在视图中显示它时,使用过滤器解析它。