2013-10-02 6 views
11

Ich möchte Daten auf der Clientseite mit eckigen Datumsfilter formatieren. Ich würde das gerne machen, weil ich an einigen Stellen meiner Anwendung angular benutze und ich möchte, dass meine Daten in der ganzen App einheitlich formatiert sind.Verwenden Sie Winkelfilter außerhalb der Winkelanwendung

Was zu tun, ich versuche:

function formatDatetime(date, format) { 
    var ngDateFilter = angular.getDateFilter(); //that's what I'm asking about 
    return ngDateFilter(date, format); 
} 

I Winkel Anwendungen verwenden nur auf mehreren Seiten, aber Termine sind auf verschiedene Seiten verteilt (mit und ohne Winkel app).

Antwort

14

OK, wie immer habe ich eine Antwort gefunden. Ich tat:

angular.injector(["ng"]).get("$filter")("date"); 

und es ist OK.

EDIT

Wie Meze beobachtet, habe ich auch genutzt haben könnte:

angular.injector(["ng"]).get("dateFilter") 

Ein Beispiel mit der Nummer Filter für Währung:

var filter = angular.injector(["ng"]).get("$filter")("number"); 

$('#Price').val(filter(price)); 
+1

Ich denke, man kann 'Winkel tun. Injektor (["ng"]). get ("dateFilter"); 'aber nicht sicher. – meze

+0

Vielen Dank - das hat mir viel Zeit gespart! –

+1

Vielen Dank! Ich werde ein Beispiel hinzufügen –

Verwandte Themen