I am trying to do a wildcard (*) routing in Angular js through following code snippet:
$routeProvider.when('/something/:action/:id/:params*\/', {
templateUrl : "/js/angular/views/sample/index.html",
controller : 'SampleCtrl'
}).otherwise({
redirectTo: '/something/all' //This exists in real code
});
sample path: /#/something/details/201/1
On calling this url it executes the otherwise method. What am I doing wrong here? Thanks in advance
The $routeProvider
does not support standard regexp but it does support named groups:
path can contain named groups starting with a colon (:name). All characters up to the next slash are matched and stored in $routeParams under the given name when the route matches.
path can contain named groups starting with a star (*name). All characters are eagerly stored in $routeParams under the given name when the route matches.
So you should try
$routeProvider.when('/something/:action/:id/:params/*rest'
which will match /#/something/details/201/1/whatever/you/say
As far as I know angularjs not support regular expressions. You should look at the angular ui-router.
https://github.com/angular-ui/ui-router
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With