1

I am trying to find current location of routeSegmentProvider while I am building my routes because one of them is not getting setup properly. Is there any way I can get my current location in the tree?

Here is basically what I am trying to do...

   var routeProvider = routeSegmentProvider;
   $.each(parentNodes, function(index, parentNode) {
       routeProvider.within(parentNode.Segment);
   });

   //here is where I would like to check to see where I am at in the tree before I apply this
   routeProvider.within(node.Segment).segment(subNode.Segment, {
       default: subNode.Default == true,
       template: subNode.Template == undefined ? "" : subNode.Template,
       templateUrl: subNode.TemplateUrl == undefined ? "" : subNode.TemplateUrl,
       controller: node.Controller == undefined ? "" : node.Controller
   });

   routeProvider.root();
gwin003
  • 7,432
  • 5
  • 38
  • 59
  • @artch Can you help me out please? Your library is working really well btw. I am very close to getting my app working with it. – gwin003 Sep 04 '14 at 18:49

2 Answers2

0

I ended up getting this to work anyways. Here is my solution:

        var currentLocation = null;
        $.each(parentNodes, function(index, parentNode) {
            currentLocation = routeSegmentProvider.within(parentNode.Segment);
        });

        if (currentLocation != null) {
            currentLocation.within(node.Segment).segment(subNode.Segment, {
                default: subNode.Default == true,
                template: subNode.Template == undefined ? "" : subNode.Template,
                templateUrl: subNode.TemplateUrl == undefined ? "" : subNode.TemplateUrl,
                controller: node.Controller == undefined ? "" : node.Controller
            });
        } else {
            routeSegmentProvider.within(node.Segment).segment(subNode.Segment, {
                default: subNode.Default == true,
                template: subNode.Template == undefined ? "" : subNode.Template,
                templateUrl: subNode.TemplateUrl == undefined ? "" : subNode.TemplateUrl,
                controller: node.Controller == undefined ? "" : node.Controller
            });
        }

        routeSegmentProvider.root();
gwin003
  • 7,432
  • 5
  • 38
  • 59
  • Your solution seems to be correct. `within()` returns a location pointer which can be used to traverse the tree further. – artch Sep 23 '14 at 20:00
0
<span ng-bind="$routeSegment.name"/> 

When using routeSegment, above snippet is a simpler way to find the current route.