我有一个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内?
答案 0 :(得分:1)
你确定带有指令的元素在控制器内部然后将ng-view添加到DOM中吗?
更多代码(小提琴)会有所帮助。