Angularjs ng hide不是';t使用滚动事件

Angularjs ng hide不是';t使用滚动事件,angularjs,scroll,ng-hide,Angularjs,Scroll,Ng Hide,我一直在尝试使用ng隐藏滚动事件。 我是这样用的 angular.module('myApp') .controller('MyCtrl', function ($scope,$window) { $scope.name={ White:false, Crimson:true } $scope.swapColor=function(){ if($window.scrollY>648){ console.log("Hide White");

我一直在尝试使用ng隐藏滚动事件。 我是这样用的

angular.module('myApp')
.controller('MyCtrl', function ($scope,$window) {

$scope.name={
  White:false,
  Crimson:true
}

  $scope.swapColor=function(){
    if($window.scrollY>648){
      console.log("Hide White");
        $scope.name.White=true;
        $scope.name.Crimson=false;
    }
    else{
      console.log("Hide Crimson");
      $scope.name.White=false;
      $scope.name.Crimson=true;
    }
  }

  angular.element($window).on('scroll',$scope.swapColor);
}))

在index.html中我有这个

<div ng-hide="name.White"><img src="images/nameWhite.png" class="img-responsive nameWhite"></div>
<div ng-hide="name.Crimson"><img src="images/nameCrimson.png" class="img-responsive nameCrimson"></div>

问题是这个函数在scroll上被调用,因为我可以在控制台中看到Hide Crimson和Hide White,但是White div没有隐藏,Crimson一个也没有出现


任何帮助都将不胜感激

以下是您的问题的工作示例

试试这个


var-app=angular.module(“myApp”,[]);
app.controller(“myCtrl”,函数($scope,$window){
$scope.name={
怀特:错,
深红色:没错
}
$scope.swapColor=function(){
如果($window.scrollY>648){
//控制台日志(“隐藏白色”);
$scope.name.White=true;
$scope.name.Crimson=false;
}
否则{
//控制台日志(“隐藏深红色”);
$scope.name.White=false;
$scope.name.Crimson=true;
}
如果(!$scope.$$phase){
$scope.$apply();
}
}
元素($window).on('scroll',$scope.swapColor);
});
IMG 1
IMG 2

以下是您的问题的工作示例

试试这个


var-app=angular.module(“myApp”,[]);
app.controller(“myCtrl”,函数($scope,$window){
$scope.name={
怀特:错,
深红色:没错
}
$scope.swapColor=function(){
如果($window.scrollY>648){
//控制台日志(“隐藏白色”);
$scope.name.White=true;
$scope.name.Crimson=false;
}
否则{
//控制台日志(“隐藏深红色”);
$scope.name.White=false;
$scope.name.Crimson=true;
}
如果(!$scope.$$phase){
$scope.$apply();
}
}
元素($window).on('scroll',$scope.swapColor);
});
IMG 1
IMG 2

你能做一把简单的小提琴吗?你能做一把简单的小提琴吗?是的,那很管用!但是你能解释一下为什么我需要使用$apply和$$phase吗?@HimanshuChandra通过这些链接,是的,这很有效!但是你能解释为什么我需要使用$apply和$$phase吗?@HimanshuChandra通过这些链接和