AngularJs指令在页面重新加载之前不起作用

问题描述 投票:3回答:1

我正在尝试构建一个angularJs指令,它会使div变粘。但我陷入了初始状态。

问题是,此滚动事件仅在页面重新加载时触发。最初不适用于路线更改。但是一旦我重新加载页面,即使路线发生变化也能正常工作。

我在这做错了什么?

代码如下:

(function (angular, window) {
    "use strict";

    function stickyDivDirective($compile, $timeout) {
        function directiveLink(scope, element, attributes) {

            function scrollFunction(targetDocument) {
                console.log('Scrolling');
            }

            angular.element(document.querySelector('md-content')).on('scroll', scrollFunction);
        }
        
        var directive = {
            restrict: "A",
            scope: {
                mainContainer: "@",
                targetContainer: "@",
                offsetHeight: '@',
                scrollableElement: '@'
            },
            link: directiveLink
        };
        return directive;
    }

    stickyDivDirective.$inject = ["$compile", "$timeout"];
    angular
        .module(appSuite.module + ".directives")
        .directive("stickyDiv", stickyDivDirective);
})(window.angular, window);

<div class=""
     id="saa__variablesBar"
     sticky-div>
<div>

;

javascript html angularjs
1个回答
2
投票

我找到了解决方案。这真的很奇怪。我刚用getElementById而不是querySelector。问题解决了。

© www.soinside.com 2019 - 2024. All rights reserved.