Я использовал некоторый код, который я нашел здесь, в стеке, для прокрутки, он отлично работает, но теперь у меня есть смесь vm (controller as) и $ scope.
Как мне избавиться от $ scope для этого кода? Внутри document.on есть функция, но если я ее изменю, vm, похоже, не определен.
Как называется этот тип контекста, где я должен передать область действия в функцию, подобную этой?
(function () {
'use strict';
angular.module('App').controller('BaseCtrl', ['$document', '$window','$scope', function ($document, $window,$scope) {
var vm = this;
vm.topMenuClass = "scene-topheader_largeLogo";
$document.on('scroll', function () {
// or pass this to the scope
$scope.$apply(function () {
if ($window.scrollY > 100) {
vm.topMenuClass = "scene-topheader_smallLogo";
}
if ($window.scrollY < 70) {
vm.topMenuClass = "scene-topheader_largeLogo";
}
});
});
}]);
//end
}());