Angular js - check if current url matches the route (with dynamic url params)

后端 未结 3 407
一生所求
一生所求 2020-12-15 08:11

i\'m simply doing setting this:

app.config([\'$routeProvider\',function($routeProvider) {
  $routeProvider
  .when(\'/asd/:id/:slug\',{
    templateUrl:\'vie         


        
3条回答
  •  抹茶落季
    2020-12-15 08:33

    Not a very elegant solution, and I have only tested it in Chrome DevTools, but it seems to work:

    Object.getPrototypeOf($route.current) === $route.routes['/asd/:id/:slug'];
    

    It seems that the routes property of the $routes service is an object literal with the keys set to the patterns for each route.

    For others wanting to use this, just replace '/asd/:id/:slug' with the pattern that you used when you defined your route.

    Also if you want to match the otherwise path, just use $route.routes['null']

    Disclaimer: This is just a workaround that I found and which works for me. Given that this behavior is not documented, and that I didn't test it to see if it works in all scenarios, use it at your own risk.

提交回复
热议问题