1

我正在尝试routeSegmentProvider在构建路线时查找当前位置,因为其中一条路线设置不正确。有什么方法可以让我在树中获得当前位置?

这基本上是我想要做的......

   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();
4

2 回答 2

0

无论如何,我最终得到了这个工作。这是我的解决方案:

        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();
于 2014-09-04T19:11:39.297 回答
0
<span ng-bind="$routeSegment.name"/> 

使用 routeSegment 时,上面的代码片段是查找当前路线的更简单方法。

于 2015-09-30T00:33:41.313 回答