вместо использования $rootScope
вы можете сделать слушателя для обнаружения изменения вида означает $routeChangeSuccess
(я предполагаю, что вы использовали $routeProvider
, чтобы изменить вид), и вы должны иметь родительский контроллер, в котором вы создаете свой слушатель
как:
var app = angular.module('myApp', ['ngRoute']);
app.controller('parentController', function($scope, $route) {
$scope.$on('$routeChangeSuccess', function(newValue, oldValue) {
if (newValue !== oldValue) {
$scope.bodyClass = $route.current.viewClass;
}
});
});
в d провайдер хотел:
app.config(function($routeProvider) {
$routeProvider.when('/list',{
controller: 'listController',
templateUrl: '/list.html',
viewClass: 'class1'
}).when('/details', {
controller: 'detailsController',
templateUrl: '/details.html',
viewClass: 'class2'
}).otherwise({
redirectTo: '/list'
});
});
так что ваш HTML хотел:
<body ng-controller="parentController" class="commonClasses" ng-class="bodyClass ">
Можно посетить PLUNKER DEMO
нескольких страниц, означающих отдельные HTML-файлы или просто разные Ui маршруты? – MarkoCen
Отдельные html-страницы –
Просто бросая мои 2 цента ... вы считали атрибут ng-class? –