我有一个 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 内?