绑定到ng-view内的指令中的事件不起作用

时间:2013-08-06 18:55:31

标签: angularjs angularjs-directive

我有一个AngularJS应用程序,之前没有使用内置路由。我正在重构网站,所以它将是一个SPA。

要做到这一点,我已更改应用程序以使用ng-view在不同页面之间切换,而不是让服务器为不同的控制器提供服务

完成此操作后,我的无尽卷轴突然停止工作。

我有一个看起来像这样的指令:

directiveModule.directive('whenScrolled', ['$window', function($window) {
    return function(scope, element, attr) {
        var raw = element[0];

        angular.element($window).bind('scroll', function() {
            console.log('test');

            scope.$apply(attr.whenScrolled);
        });
        };
}]);

但是现在滚动事件永远不会被触发。

如果我将angular.element($window).bind('scroll', function() {..});取出并在控制器中使用它,它可以正常工作,但它看起来像是一个黑客。

有没有办法绑定到指令内的页面滚动事件,该指令位于控制器内部,位于ng-view内?

1 个答案:

答案 0 :(得分:1)

你确定带有指令的元素在控制器内部然后将ng-view添加到DOM中吗?

更多代码(小提琴)会有所帮助。