【发布时间】:2023-03-11 23:37:01
【问题描述】:
我有一个嵌套状态。
与我的应用标题相关联的视图。
看起来像这样:
<ion-view cache-view="false">
<div class="navbar-fixed-top navbar-header bar bar-header " ng-if="showHeader">
<div class="container row">
{{ showSubHeader}}
<div ng-if="showSubHeader" class="topPull" draggable >
<button ng-if="showSubHeader" class="button-icon"><img src="img/topImg.jpg"></button>
</div>
</div>
</div>
</ion-view>
现在,我希望在showSubHeader 为真时显示 div。
表达式{{ showSubHeader }}正确地从真变为假,但div没有根据值变量隐藏/显示。
有办法解决吗?
最初在页面加载时,div会相应地显示/隐藏,但当加载后变量值发生变化时,div不会隐藏。
控制器:
.controller('AppCtrl', function($scope, $rootScope, $ionicModal, $timeout, $ionicSlideBoxDelegate, $state) {
$scope.showHeader=true;
$scope.showSubHeader=true;
$scope.checkBill= function(){
$scope.showSubHeader=false;
$state.go('menu.TotalBill')
}
})
【问题讨论】:
-
如果
showSubHeader在异步函数中改变了,那么angular不知道是否改变了,所以在给showSubHeader变量赋值后尝试使用$scope.$apply() -
我试过了。此外,它在附加到范围的函数中进行了更改。
-
向我们展示控制器代码
-
我认为当我来自其他视图或其他页面时,您会遇到问题@simkaur?