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