2013-04-05 4 views
8

Angularjs ein Bänkchen von globalen Funktionen wie angular.lowercase, angular.isArray usw.Wie ruft man eine Funktion aus der globalen API in Angular Expressions auf?

nehme ich einen String in meiner Reichweite haben:

function MyController($scope) { 
    $scope.myString = "TEST" 
} 

Aufruf angular.lowercase keine Wirkung hat:

{{lowercase(myString)}} 
{{angular.lowercase(myString)}} 

Wie kann ich eine solche Funktion in meiner Vorlage aufrufen?

UPDATE

Beispiel mit angular.isArray

<div ng-show="isArray(myVar)">...</div> 
+4

'{{myString | Kleinbuchstaben}} '..read filter docs – charlietfl

+0

@charlietfl OK, es kann mit Filter gemacht werden. Ich habe ein weiteres Beispiel hinzugefügt, wo der Filter nicht verwendet werden kann, denke ich. – ponomandr

Antwort

12

Der Ausdruck in der {{}} ist nicht unbedingt Javascript, obwohl es so aussieht - es ist ein AngularJS expression. Aus diesem Grund wird Ihnen nicht alles zur Verfügung stehen.

charlietfl ist richtig, dass Ihr bestimmter Fall mit einem vorhandenen Filter gelöst werden kann. Nicht jede eckige. * -Funktion wird auf diese Weise angezeigt. In diesem Fall sollten Sie jedoch Ihre eigenen benutzerdefinierten Filter erstellen.

Filter sind sauberste aber als schmutzig Abhilfe könnte man auch einfach nur die folgende Zeile in Ihrem Controller:

$scope.lowercase = angular.lowercase; // not angular.lowercase() 
+0

Vielen Dank für diese – JasonS

+0

Dies wurde vor kurzem abgelehnt - bitte lassen Sie mich wissen, wenn es hier etwas gibt, das ungenau ist. Ich möchte keine Fehlinformationen verbreiten! –

+0

Ihre Antwort ist gut für mich, also yeah ich weiß nicht, warum jemand Sie für diese Antwort abmelden würde – JasonS

Verwandte Themen