我正在尝试在angularJS应用中创建一个最近访问过的菜单,但我似乎无法找到一个很好的方法来获取已编译的URL routeChangeStart
事件,它只是模板。
我的代码如下:
$rootScope.$on("$routeChangeStart", function (event, next, current) {
if ($route.current && $route.current.$$route && $route.current.$$route.controller){
// only show 5
if($scope.previousLocations.length == 5){
$scope.previousLocations.pop();
}
var title = $route.current.$$route.title,
hasTitleAlready = false;
// only add them once
angular.forEach($scope.previousLocations, function(obj){
if(obj.title == title){
hasTitleAlready = true;
return false;
}
});
if(hasTitleAlready){
$scope.previousLocations.push({
title: title,
link: 'the compiled link here'
});
}
}
});
我的模板如下:
<ul class="recent-view">
<li ng-repeat="loc in previousLocations"><a href="{{loc.link}}">{{loc.title}}</a></li>
</ul>
谁有任何关于如何干净利落地完成这个想法的好主意?
答案 0 :(得分:1)