Ich baue eine Anwendung (Express, Node und eckig), die Clients speichert und ihre Informationen anzeigen kann. Jedem Client ist ein ID-Schlüssel zugewiesen. Ich habe einen Link so erstellt, dass, wenn der Name des Clients geklickt wird, es zu einer URL geht, die so ist: client/{{client.id}}
. Ich möchte diesen Parameter, id, extrahieren, damit ich die Klienten filtern und nur den mit dieser Identifikation zeigen kann. Hier ist meine Express.js, wo ich die Parameter-ID finden und drucken Sie es in der Konsole:Wie Parameter aus URL in HTML mit AngularJs injiziert werden
// express stuff
app.param('id', function (req, res, next, id) {
console.log(req.params.id);
next();
});
app.get('/client/:id', routes.clientpage);
Jetzt sehe ich die ID in Konsolenprotokoll gedruckt - aber unter Verwendung von Angular, wie würde ich diesen Parameter injizieren in ein Filter? Das ist, was ich denke, aber ich offenbar falsch:
<ng-repeat="client in clients | orderBy:'id' | filter:{id:{{$req.params.id}}} | limitTo: 1"/>
Können Sie bitte erläutern, wie document.location.href.split ('client /') [1]; erreicht den gewünschten Effekt? –
document.location.href.split ('client /') [1] verwendet die String-Split-Funktion (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split) - nimmt die URL der Seite (sagen wir zum Beispiel vollständige URL ist 'myapp.com/example/client/46235') und wird Ihnen den letzten Teil - '46235' zurückgeben. Dann können Sie es einer Scope-Variablen (z. B. $ scope.clientId) zuweisen und sie im Filterausdruck verwenden. – shershen
danke, ich habe gerade ein Problem damit. Denkst du, du könntest beraten? –