angularjs - 什么是 dateFilter,我在哪里可以找到有关它的更多信息?

标签 angularjs angularjs-directive datefilter

我正在阅读有关指令的 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 原型(prototype)的任何信息,也无法在任何地方找到关于 dateFilter 的任何文档。另外,我知道 dateFilter 可以在 AngularJS 的未缩小版本中找到(尽管该名称在缩小版本中消失了)。谁能提供一些指导(可能还有链接)来解释有关 dateFilter 和类似功能的更多信息?

最佳答案

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

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

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

关于angularjs - 什么是 dateFilter,我在哪里可以找到有关它的更多信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20788773/

相关文章:

javascript - 为什么 View 不显示在 Angular JS 上?

javascript - Angular:如何将时间从 00:00:01 转换为 8 分 49 秒格式?

javascript - 向 Angular 日期过滤器添加新格式?

javascript - 如何使用 AngularJS 日期过滤器显示时间

javascript - Angular,$route.current 返回未定义,但 $route 有一个 .current 属性

javascript - 如何根据选择框值从 API 获取值?

javascript - angularJS显示+1月日期

javascript - AngularJS:无法从 ctrl 范围获取变量值到指令中

javascript - AngularJS ui-router $state.go ('^' ) 仅更改地址栏中的 URL,但不加载 Controller

javascript - 从 div 到 div 的 Angular 移动指令