angular-route-сегмент: найти текущее местоположение routeSegmentProvider
Я пытаюсь найти текущее местоположение 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();
2 ответа
<span ng-bind="$routeSegment.name"/>
При использовании routeSegment приведенный выше фрагмент кода представляет собой более простой способ найти текущий маршрут.
Я все равно заставил это работать. Вот мое решение:
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();