我正在使用来自 Enrico Pulatzo ( jsfiddle ) 的 ngBreadcrumbs-Service。只要用户单击面包屑,推送面包屑和取消注册就可以正常工作。但是,如果使用后退按钮或其他链接,则面包屑不会更新,并且在遵循新路线时会显示最后一个条目两次。如何更改此行为以始终拥有正确的面包屑路径?
Home > Users
单击用户并返回后。面包屑应该只包括“家”。
Home > Users > Users
单击用户后,导航回来并再次单击用户。
我正在使用来自 Enrico Pulatzo ( jsfiddle ) 的 ngBreadcrumbs-Service。只要用户单击面包屑,推送面包屑和取消注册就可以正常工作。但是,如果使用后退按钮或其他链接,则面包屑不会更新,并且在遵循新路线时会显示最后一个条目两次。如何更改此行为以始终拥有正确的面包屑路径?
Home > Users
单击用户并返回后。面包屑应该只包括“家”。
Home > Users > Users
单击用户后,导航回来并再次单击用户。
我从这个答案中添加了一个 $location.path 观察者,以减少包含面包屑的数组,现在一切都按预期工作。
$rootScope.$watch(function() {
return $location.path();
}, function(newValue, oldValue) {
if (newValue !== oldValue) {
if (newValue.split('/').length < oldValue.split('/').length) {
data.splice(1, data.length);
}
$rootScope.$broadcast('breadcrumbsRefresh');
}
}, true);