CSS更改不会立即应用
要降低头部,应改变颜色,但变化是看不到的,如果我只打开菜单,则可以看到变化CSS更改不会立即应用,css,angularjs,ionic-framework,Css,Angularjs,Ionic Framework,要降低头部,应改变颜色,但变化是看不到的,如果我只打开菜单,则可以看到变化 <ion-header-bar class="thediv" ng-class="{scrolling: isActive}"> <ion-nav-bar class="bar-clear " > </ion-nav-bar> </ion-header-bar> 和代码: if ($ionicScrollDelegate.
<ion-header-bar class="thediv" ng-class="{scrolling: isActive}">
<ion-nav-bar class="bar-clear " >
</ion-nav-bar>
</ion-header-bar>
和代码:
if ($ionicScrollDelegate.$getByHandle('contentScroll').getScrollPosition().top > 100) {
$scope.isActive = true;
} else {
$scope.isActive = false;
}
演示
我的假设是,当您影响
$scope.isActive
时,不会处理摘要循环
尝试将其包装成一个$timeout
(不要忘记将$timeout
添加为依赖项)
问题还不清楚。你能和我分享一把小提琴吗?嗯,这个主意很有趣,我不知道怎么修。如果我是你,我会试着弄清楚$watch、$digest和$apply是如何处理的。如果在开始滚动时它没有正确更新,则可能是一个问题。您还可以尝试在滚动开始时执行$broadcast事件,然后基于该事件应用类。只是一些想法,让我知道如果你得到它的工作!
if ($ionicScrollDelegate.$getByHandle('contentScroll').getScrollPosition().top > 100) {
$scope.isActive = true;
} else {
$scope.isActive = false;
}
if ($ionicScrollDelegate.$getByHandle('contentScroll').getScrollPosition().top > 100) {
$timeout(function(){
$scope.isActive = true;
},0)
} else {
$timeout(function(){
$scope.isActive = false;
},0)
}