현재 루트명/컨트롤러를 기반으로 클래스를 설정하는 방법
현재 컨트롤러 또는 현재 경로에 따라 클래스를 설정하려고 합니다(URL 세그먼트 1).
비슷한 것
<body class="{{controllerName}}">
이렇게 하면 CSS의 특정성을 위해 다른 페이지를 대상으로 할 필요가 있는 경우 쉽게 할 수 있습니다.
해결책은 루트 범위에서 루트 변경에 가입하고 컨트롤러 이름을 여기에 넣는 것입니다.
app.run(function($rootScope) {
$rootScope.$on('$routeChangeSuccess', function(ev,data) {
if (data.$route && data.$route.controller)
$rootScope.controller = data.$route.controller;
})
});
$route 서비스를 사용할 수 있습니다.current
현재 컨트롤러가 제공되는 속성입니다.
더 심플해요.이 있습니다.controller
직접 소유물data
논쟁.
$rootScope.$on("$routeChangeSuccess", function(e, data) {
$rootScope.controller = data.controller;
});
제가 알기로는data
인수는 와 같은 오브젝트입니다.$route.current
.그controller
속성은 해당 객체의 프로토타입에 있습니다.
Angular 버전 1.3의 경우 다음 코드를 사용할 수 있습니다.
$rootScope.$on('$routeChangeSuccess', function (ev, data) {
if (data.$$route && data.$$route.controller)
$rootScope.controller = data.$$route.controller;
});
언급URL : https://stackoverflow.com/questions/14220244/how-to-set-class-based-on-current-route-name-controller
'programing' 카테고리의 다른 글
폼 검증을 간소화하는 방법 (0) | 2023.03.21 |
---|---|
AngularJS는 객체 배열 내의 객체 속성을 감시합니다. (0) | 2023.03.21 |
사용자 지정 필드 데이터를 WooCommerce 주문에 추가합니다. (0) | 2023.03.21 |
React-Query 훅을 사용한 조건부 API 호출 (0) | 2023.03.21 |
단순한 어레이 초기화를 사용한ng-timeout (0) | 2023.03.21 |