【问题标题】:What is dateFilter and where can I find out more about it?什么是 dateFilter,我在哪里可以找到有关它的更多信息?
【发布时间】:2013-12-26 17:33:38
【问题描述】:

我正在阅读有关指令的 Angular 文档:http://docs.angularjs.org/guide/directive

页面上的一个例子(完整的工作例子在这里http://jsbin.com/osOQOYag/3/edit?html,js,output

angular.module('docsTimeDirective', [])
  .controller('Ctrl2', function($scope) {
    $scope.format = 'M/d/yy h:mm:ss a';
  })
  .directive('myCurrentTime', function($interval, dateFilter) {

    function link(scope, element, attrs) {
      var format,
          timeoutId;

      function updateTime() {
        element.text(dateFilter(new Date(), format));
      }

      scope.$watch(attrs.myCurrentTime, function(value) {
        format = value;
        updateTime();
      });

      element.on('$destroy', function() {
        $interval.cancel(timeoutId);
      });

      // start the UI update process; save the timeoutId for canceling
      timeoutId = $interval(function() {
        updateTime(); // update DOM
      }, 1000);
    }

    return {
      link: link
    };
  });

上线:

.directive('myCurrentTime', function($interval, dateFilter) {

我终其一生都找不到关于 .directive 原型的任何信息,也无法在任何地方找到关于 dateFilter 的任何文档。另外,我知道 dateFilter 可以在 AngularJS 的未缩小版本中找到(尽管名称在缩小版本中消失了)。谁能提供一些指导(可能还有链接)来解释有关 dateFilter 和类似功能的更多信息?

【问题讨论】:

  • 我同意,如果文档中没有包含这种方法,他们不应该使用这种方法。

标签: angularjs angularjs-directive datefilter


【解决方案1】:

日期过滤器文档在这里:http://code.angularjs.org/1.2.5/docs/api/ng.filter:date

这是解释过滤器注入的部分文档:http://code.angularjs.org/1.2.5/docs/guide/filter#using-filters-in-controllers-and-services

过滤器通常用于视图表达式({{myDate | date:'short'}}),但它们也可以在您的 JS 代码中使用。通过将字符串 Filter 附加到过滤器名称来注入过滤器(例如 date -> dateFilter)。

app.controller('MyCtrl', function($scope, dateFilter, lowercaseFilter){
  $scope.myDate = new Date();
  $scope.myDateFormatted = dateFilter($scope.myDate, 'shortDate');

  $scope.myString = 'Some String';
  $scope.myStringLowerCased = lowercaseFilter($scope.myString);
});

PLUNKER

【讨论】:

  • 我已经理解了你所说的一切,除了关于附加“过滤器”的部分。现在一切都说得通了。你碰巧有指向文档那部分的链接吗?
  • 非常感谢。我很感激。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-28
  • 2011-04-14
  • 2012-08-10
  • 1970-01-01
  • 1970-01-01
  • 2022-01-26
相关资源
最近更新 更多