Angularjs ng hide不是';t使用滚动事件
我一直在尝试使用ng隐藏滚动事件。 我是这样用的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");
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通过这些链接和