Ali*_*mam 5 javascript angularjs angularjs-directive
我是AngularJS的新手.当用户滚动div"B"时,我想在AngularJS中隐藏div"A".目前,当用户通过使用ng-click点击div"B"时,我可以隐藏div"A",但是在使用AngularJS滚动时我找不到任何方法.我知道,我可以使用JQuery来隐藏div但是有没有办法用AngularJS做到这一点?
更新:
我创建了一个scroll指令并用$ window附加它.现在,如果我滚动整个窗口,div将被隐藏,但我想在滚动特定div时隐藏它.我目前的实现看起来像下面:
app.directive("scroll", function ($window) {
return function(scope, element, attrs) {
angular.element($window).bind("scroll", function() {
if (this.pageYOffset >= 10) {
scope.hideVs = true;
} else {
scope.hideVs = false;
}
scope.$apply();
});
};
});
Run Code Online (Sandbox Code Playgroud)
我不确定你为什么要这样做,但我创造了一个我认为你想要的jsfiddle.
我稍微修改了你的指令:
app.directive("scroll", function () {
return function(scope, element, attrs) {
angular.element(element).bind("scroll", function() {
scope[attrs.scroll] = true;
scope.$apply();
});
};
});
Run Code Online (Sandbox Code Playgroud)
你现在可以看到绑定到div上的滚动事件而不是窗口.我还更改了它设置的变量,以便将提供给scroll指令的值作为变量名称.
这是一个使用$ parse来设置@ganaraj建议的值的版本