Я потерял пару часов из-за этой проблемы, надеюсь, решение сэкономит кому-то время.
Проблема в Angular 1.x, при попытке обновить область действия на основе события прокрутки она вообще не обновляется!
var app = angular.module("sample", []);
app.controller("myCtrl", function($scope, $window) {
$window.onscroll = function () {
console.info($window.scrollY);
$scope.scrollY = $window.scrollY;
};
});
CodePen здесь
Обратите внимание, что событие запускается нормально, и значение scrollY отлично отображается на консоли. Даже в этом случае представление не отражает изменение объема. Это расстраивает. Если вы измените поле Имя, остальные свойства будут обновлены.