我正在阅读有关指令的 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/