angularjs - new - ¿Qué es dateFilter y dónde puedo encontrar más información?
ng model date format (1)
Estoy revisando la documentación de Angular sobre directivas: http://docs.angularjs.org/guide/directive
Uno de los ejemplos en la página (ejemplo de trabajo completo aquí 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
};
});
En la línea:
.directive(''myCurrentTime'', function($interval, dateFilter) {
Por mi vida no puedo encontrar ninguna información en el prototipo .directive y tampoco puedo encontrar ninguna documentación en dateFilter en ningún lugar. Además, sé que dateFilter se encuentra en la versión no minificada de AngularJS (aunque el nombre desaparece en la versión minified). ¿Alguien puede proporcionar alguna orientación (y posiblemente un enlace) que explique más sobre dateFilter y funciones similares?
Los documentos de filtro de fecha están aquí: http://code.angularjs.org/1.2.5/docs/api/ng.filter:date
Aquí hay parte de los documentos que explican la inyección del filtro: http://code.angularjs.org/1.2.5/docs/guide/filter#using-filters-in-controllers-and-services
Los filtros se usan generalmente en expresiones de vista ( {{myDate | date:''short''}}
), pero también se pueden usar en su código JS. Los filtros se inyectan agregando el Filter
cadena al nombre del filtro (por ejemplo, date
-> dateFilter
date
).
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);
});