Aurelia가 새로운 경로를 탐색 할 때 html
요소에 class
을 추가하여로드 할 때 다르게 페이지 스타일을 지정할 수 있습니다.라우터로 변경 감지 .isNavigating
import {inject} from 'aurelia-framework';
import {Router} from 'aurelia-router';
@inject(Router)
export class App {
constructor (router) {
this.router = router;
}
}
그리고 내보기에 단순히 수행하십시오 :
내 현재 솔루션은 내보기의 일부이고 그래서 "단지 작품"때문에이처럼 main
요소에 클래스를 추가하는 것입니다
<main class="${router.isNavigating ? 'loading' : ''}">
<router-view></router-view>
</main>
하지만, 내가 언급처럼, 나는 (I 페이지에있는 모든 단일 decendant 스타일을 할 수 있도록) 대신 html
요소에 loading
클래스를 추가하는 것을 선호합니다. html
요소가 이 아니기 때문에이 아니기 때문에 동일한 방식으로이 작업을 수행 할 수는 없지만 대신 이 필요할 때마다 router.isNavigating
이 true 일 때마다 필요합니다.
제 질문은; 내가 어떻게이 일을 할 수 있니? 나는 aurelia가 propertyChanged
메소드를 지원한다는 것을 알고 있지만 router.isNavigating
과 같은 중첩 된 속성 일 때 어떻게 작동하는지 모르겠습니다. routerIsNavigatingChanged()
이 작동하지 않습니다. 나는 또한 @computedFrom(router)
과 그 변종을 시도했지만 작동시키지 못한다.
위의 대답은'@computedFrom ('router.isNavigating')'과 동일하지만 EventAggregator를 사용하는 솔루션이이를 수행하는 올바른 방법이라고 생각합니다. –
@AshleyGrant에 동의합니다. –
얘들 아 .. 내가 물어 보자. 'isNavigating'을 사용하여 회 전자 표시/숨기기. 첨부 된 이벤트에서 API 호출이 있다고 가정합니다. 내 전화가 아직 종료되지 않은 경우에도 회 전자가 숨길 것입니다. –