0
我希望當我的控制器中的變量發生變化時,我的ng-class被更新。出於某種原因,它僅在頁面加載時觸發,並且在變量更改時,ng-class不會更新以反映此情況。如何在變量更改時更新角度ng-class?
這裏是觸發變量變化的代碼:
<a class="cs-mobile-menu__close-icon" ng-click="switchMobileMenu('right')">
</a>
這裏是,我想取決於可變改變代碼:
<div class="right-menu__user"
ng-class="{
'animate': true,
'animate--leave': !isRightMenuOpen}">
{{user.firstName}} {{user.lastName}}
</div>
這裏被從控制器相應的代碼:
$rootScope.isLeftMenuOpen = false;
$rootScope.isRightMenuOpen = false;
$scope.switchMobileMenu = function(direction) {
if (direction === 'left') {
$scope.isLeftMenuOpen = !($scope.isLeftMenuOpen);
} else {
$scope.isRightMenuOpen = !($scope.isRightMenuOpen);
}
};
看來,ng級只在初始設置ng-click
。我相信我需要在$scope.apply()
函數中包裝上述函數,以便ng-class
監視更改並將它們應用爲ng-click
來切換變量。我在正確的軌道上嗎?如果是這樣,我將如何做到這一點?
如果你用'$ scope'替換'$ rootScope',它會工作嗎? – Akis