기본 제공 라우팅 대신 ui-router를 사용하도록 AngularJS 기반 앱을 마이그레이션하고 있습니다. 아래와 같이 구성했습니다.
.config(function($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/home');
$stateProvider
.state('home', {
url: '/home',
templateUrl : 'views/home.html',
data : { pageTitle: 'Home' }
})
.state('about', {
url: '/about',
templateUrl : 'views/about.html',
data : { pageTitle: 'About' }
})
});
pageTitle 변수를 사용하여 페이지 제목을 동적으로 설정하려면 어떻게해야합니까? 내장 된 라우팅을 사용하여
$rootScope.$on("$routeChangeSuccess", function(currentRoute, previousRoute){
$rootScope.pageTitle = $route.current.data.pageTitle;
});
그런 다음 아래와 같이 HTML에서 변수를 바인딩하십시오.
<title ng-bind="$root.pageTitle"></title>
ui-router를 사용하여 연결할 수있는 유사한 이벤트가 있습니까? 'onEnter'및 'onExit'함수가 있지만 각 상태에 묶여있는 것으로 보이며 각 상태에 대해 $ rootScope 변수를 설정하는 코드를 반복해야합니다.