나는 세 개의 버튼이 있습니다. 회사 소개, 및 서비스입니다. 버튼을 클릭 할 때마다 해시 값이 변경되며 라우팅 개념을 사용하여 다른 페이지로 이동합니다.
이제 AngularJS에서 $location.hash()
함수를 사용하고 해시 값이 변경 될 때마다 버튼의 색상을 변경하고 싶습니다. 여기에 내가 쓴 JS 각 코드의
<div ng-controller="mainController">
<a href = "#/aboutus" ng-class="{'active': location == '/aboutus'}">About us</a>
<a href = "#/contactus" ng-class="{'active': location == '/contactus'}">Contact us</a>
<a href = "#/services" ng-class="{'active': location == '/services'}">Services</a>
</div>
:
나는 아래 작성한 코드를 참조
.active{
background-color: red;
color : white;
}
a{
padding:10px;
background-color: white;
color: black;
border: 1px solid black;
}
I 돈 : 여기
app.controller('mainController', ['$scope', '$location', function($scope,$location){
var location = $location.hash();
}]);
는 CSS의 코드의 문제점을 알고 있지만 색상을 얻을 수 없기 때문에 클래스를 클릭 할 때 태그에 추가되지 않습니다.
대신 당신은 범위에 당신이 변수 바인딩해야
var location = $location.hash;
의 :
젠장, $ 범위를 포함해서 정말 깜빡 했어, 고마워. 나는 그것을 시도 할 것이다 :) – Harish
그것은 여전히 작동하지 않는다, 그것이 작동하는지 또는 버튼을 클릭 할 때마다 실행될 함수와 함께 ngclick을 사용했는지를 점검하기 위해이 함수에 $ scope.location을 기록했다. $ scope.location 값이 로깅 될 때 비어 있습니다. @Maarteen – Harish
조금 후에 실습 예제를 제공해 드리겠습니다. –