功能触发所有控制器 - angualrjs

时间:2017-05-31 06:09:35

标签: javascript angularjs scrolltop document-body

我有这个

  $window.onscroll = function() { scrollFunction() };

            function scrollFunction() {
                if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) {
                    document.getElementById("btt").style.display = "block";
                } else {
                    document.getElementById("btt").style.display = "none";
                }
            }

在一个控制器中运行,但是当我导航到另一个页面后,scrollFunction也会被触发。如何将该功能仅限于特定页面(控制器)。

1 个答案:

答案 0 :(得分:3)

当控制器销毁时需要停止侦听滚动事件

angular.element($window).on('scroll', scrollFunction);

scope.$on('$destroy', function () {

  angular.element($window).off('scroll', scrollFunction);
});