Ich weiß, dass {{}} einen Ausdruck interpretieren kann, aber wenn ich versuche, JavaScript zu verwenden, funktioniert es nicht wie {{"a/b/c/d/".split('/').filter(function(n){return n}).reverse()[0]}}
Ich muss das verwenden, um den Slug-Wert von der URL zu bekommen.
Bitte schlagen Sie vor, wie dies mit angularjs zu erreichen ist, die Quelle der URL stammt von externem Feed, daher habe ich hier eine sehr begrenzte Kontrolle.
Full JS wird nicht unterstützt, und selbst wenn es so wäre, wäre es eine schlechte Übung.
Ich empfehle Ihnen, dies zumindest auf eine Scope-Funktion in Ihrem Controller zu setzen.
Noch besser wäre es, es in einen Dienst oder in einen Filter zu stellen. Wenn Sie es später für andere Zwecke wiederverwenden möchten, können Sie:
Und dann in Ihrer Vorlage:
%Vor%Es ist auch möglich, die Winkeldokumente über Ausdrücke zu lesen.
{{}}
sagen Sie, dass aus Ihrer Sicht ein Ausdruck interpoliert ist. Winkelausdrücke unterstützen nicht das gesamte JavaScript. Für die Dokumentation klicken Sie hier .
Wenn Sie ganz JavaScript benötigen. Es ist besser, die Logik in eine Controller-Funktion zu integrieren.
Auszug aus der Dokumentation:
Es könnte verlockend sein, an Ausdrücke mit Winkelbildern zu denken JavaScript-Ausdrücke, aber das ist nicht ganz richtig, da Angular verwendet kein JavaScript eval () zum Auswerten von Ausdrücken. Sie kann angular Ausdrücke als JavaScript Ausdrücke mit betrachten folgende Unterschiede:
Attributbewertung: Bewertung aller Eigenschaften ist gegen die scope macht die Auswertung, anders als in JavaScript, wo die Ausdrücke werden gegen das globale Fenster ausgewertet.
Vergeben: Ausdruck Bewertung ist verzeihend zu undefiniert und null, anders als in JavaScript, wo versucht wird, undefinierte Eigenschaften zu bewerten kann ReferenceError oder TypeError generieren.
Keine Kontrollflussanweisungen: Sie können keine der folgenden Aktionen ausführen eckiger Ausdruck: Bedingungen, Schleifen oder Werfen.
Tags und Links javascript angularjs