在angularjs中格式化日期的指令?

时间:2015-07-29 20:02:34

标签: angularjs angularjs-directive

我的ng-repeat范围如下:

span(humanize-date="{{file.date}}"

我要创建一个指令,以便指令更改日期格式

directive('humanizeDate', [
  function() {
    return {
      restrict: 'EA',
      template: '<div value="{{formattedDate}}"/>',
      replace: true,
      scope: {
        formattedDate: '=humanizeDate'
      },
      link: function(scope, elem, attrs) {
        return scope.formatedDate = moment.duration(scope.humanizeDate).humanize();
      }
    };
  }
]);

2 个答案:

答案 0 :(得分:1)

只需使用:

  Cat.prototype = new Animal();
  Cat.prototype.init = function(){ }

这里有更多相关信息 https://docs.angularjs.org/api/ng/filter/date

希望能帮助

答案 1 :(得分:0)

当您在指令中使用{{}}表示双向绑定时,不应使用=

它应该是直接变量引用而不是{{}}

span(humanize-date="file.date"

其他方式是你可以在你的指令隔离范围中使用@,因为你给{{}}带有表达式属性,表示单向绑定。

scope: {
  formattedDate: '@humanizeDate'
},