내 모퉁이 응용 프로그램에서 나는 일련의 링크가있는 메뉴가 있습니다. 각 지시문에 링크를 넣었고 현재 위치를 사용하여 링크가 활성 상태인지 결정한 다음 CSS 클래스를 추가합니다. 내가 지금까지했던 어떤
은 이것이다 : (관련 물건 제거)
angular.module(‘myNavigation’).directive(‘navItem’, ['$location', function($location) {
console.log($location.absUrl());
console.log($location.path());
return {
restrict: ‘EA’,
scope: true,
link: function (scope) {
isCurrentLink = angular.equals(scope.item.href,$location.absUrl());
},
template: ‘<a ng-href=”{{item.href}}” ng-class=”{active:isCurrentLink}”>{{item.name}}</a>”
}
}]);
이 있지만, 잘 작동 나는 도메인 이름 등을 포함하지만 내 탐색을위한 데이터의 완전한 URL을 넣을 경우에만 내 지시어로받은 탐색 데이터의 URL에 도메인 이름/프로토콜 등이 포함되어 있지 않습니다.
그런 다음 첫 번째 console.log는 완전한 URL을 제공하지만 두 번째는 빈 문자열을 반환합니다. 왠지 내 지시문에 $location.path()
에 액세스 할 수 없습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
경로가 있어도 내 응용 프로그램은 루트 폴더의 기본 페이지에 있지 않습니다.
난 그냥 그 $의 location.path은() 해시 (#), I는 프로토콜, 서버 이름없이 URL의 일부를 반환하기를 기대 후 URL의 일부를 반환 발견
UPDATE 및 서버 포트. 내가 https://stackoverflow.com/posts/25894149/에 갈 때
그래서, 게시물/25894149/을 가지고 싶어.
이것을 달성하기 위해 $ location을 사용할 수 있습니까?
당신이이 질문을 본 적이 있습니까? http://stackoverflow.com/questions/12592472/how-to-highlight-a-current-menu-item –
나는 그랬지만 거기에 해결책이 보이지 않는다. – Michiel