Jestem prawie pewien, że to znowu głupota. Uczę się angularów, więc nie mam jeszcze pełnego zakresu, ale dotarłem tam. Próbowałem wszystkiego i naprawdę szukałem wszystkiego, co mogłem znaleźć, ale nic nie działało.rootcope Angularjs nie aktualizuje ngClass
Próbuję zrobić ng-class = "..." w moim pliku układu, ale wyrażenie jest ustawione w moim kontrolerze, ale jakoś nie jest renderowane. Jest renderowany, kiedy umieszczam go w moim pliku widoku. Rozumiem, że on tylko renderuje część pliku, ale chcę, żeby on również wyrenderował klasę ng na ng-view. Czy jest to możliwe, czy łatwiej jest po prostu wstawić div do częściowego pliku html.
Prosty plik html
<body>
<ng-view ng-class="{ 'splash': splash=='splash' }"></ng-view>
</body>
Mój kontroler
angular.module('xxx.splash')
.controller('IndexCtrl', function($scope, $rootScope, config) {
$rootScope.splash = 'splash';
$scope.login = function(e) {
alert('Soon. How soon? Very soon.');
}
});
Dlaczego nie nazywa się " $ rootScope "po stronie html? –
@DavidKarlsson, ponieważ jest już zasięgiem. Każdy zakres ma atrybut '$ root' wskazujący na' $ rootScope' na szablonie, do którego masz zasięg, który również ma ten wskaźnik, stąd nazwa. Chociaż zmiana nazwy może być mniej myląca ... – estani