ich bin einfach dies zu tun Einstellung:Angular js - prüfen, ob aktuelle URL die Route übereinstimmt (mit dynamischer URL params)
app.config(['$routeProvider',function($routeProvider) {
$routeProvider
.when('/asd/:id/:slug',{
templateUrl:'views/home/index.html',
controller:'Home',
publicAccess:true,
sessionAccess:true
});
: id und: Slug sind dynamisch params.
Nun möchte Ich mag diesen Weg check if current url matches
(/asd/:id/:slug
)
zum Beispiel der URL: asd/5/it-is-a-slug
was der einfachste Weg ist?
i tryed diese:
$rootScope.$on('$routeChangeStart', function(){
console.log($route.current);
});
aber manchmal gibt es nichts in der Konsole, während Seite Routen Schalt
Sie könnten $ route-Service in Ihren Controller injizieren und '$ route.current' prüfen, um die aktuelle Route zu erhalten. Sie müssen die URL nicht zuordnen. –
Sie meinen in der Home-Controller, weil mehrere Routen zugeordnet werden könnten? Wie @KhanhTO sagte, injiziere $ route und überprüfe $ route.current.params oder was auch immer. Obwohl ich denke, dass Ihr Code mehr darauf achten sollte, ob Sie Params haben, als ob die URL übereinstimmt. Wenn völlig unterschiedliche URLs mit unterschiedlichen Bedeutungen den gleichen Controller treffen, sollten Sie wahrscheinlich einen anderen Controller verwenden. –
@EmersonFarrugia ich kann eigentlich nicht verstehen, warum es nicht auf jedem routeChangeStart funktioniert es scheint manchmal $ route.current ist nicht verfügbar – sbaaaang