Query param optional in Angular JS - ngRoute

Incerc sa creez un route in Angular cu ngRoute (Angular 1.5.3 ) cu un parametru optional si nu reusesc deloc (eu sunt developer pe back end mai mult, asa ca rog clementa)

$routeProvider.when(‘/signup/:uid?’, { templateUrl: ‘views/signup.html’, controller: Ctr1’ })

si url-ul e

/signup/1234

cind afisez in controller $routeParams rezultatul e (wtf)

{“uid”:“:uid?”}

M-am uitat pe SO , adica aici totul pare ok, doar ca nu merge.

Orice idee e binevenita.

Ar trebui sa fie OK.
Exemplul tau e simplificat sau exact asa este in app ta?

Daca subscrii la $routeChangeStart sau routeChangeSuccess, ce valoare are $route.current.params ?

Mersi mult ptr sugestie. Intr-adevar, problema era ca in routeChangeStart vreau sa controlez paginile publice si private si faceam o greseala , punind $location.path(next.$$route.originalPath);
Am trecut de pasul ala da’ acum am dat de o alta problema ,socanta ptr mine :slight_smile: Se pare ca in Angular nu poti sa ai bookmarkuri, adica sa pui in browser direct url-ul si sa intre in functiune Angularul. Daca ma duc pe root si dau click pe linkul “register” e ok, daca pun direct in browser localhost/register nu merge !!

Parcă ziceai mai devreme că ești programator back-end… Dacă aplicația ta e pe localhost, de ce te-ai aștepta să primești ceva pe localhost/register fără ca tu să scrii deloc cod server-side?

Angular-ul funcționează în browser, nu pe server, iar atunci când dai click pe butonul de register, browser-ul doar se preface că a navigat (pentru că așa i-a zis Angular, folosind History API-ul din HTML).

Este treaba ta să-ți configurezi rutele server-side. Dacă vrei să-ți fie indexat conținutul, va trebui să construiești paginile și pe server, în caz contrar fiind de ajuns să-ți redirectezi intern rutele în .htaccess către index.html folosind RewriteRule.