1

routeSegmentProviderルートの 1 つが適切にセットアップされていないため、ルートを構築しているときにの現在の場所を見つけようとしています。ツリー内の現在の場所を取得する方法はありますか?

これが基本的に私がやろうとしていることです...

   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 に答える