我正在使用角度1.4。
我的范围内有一个watchGroup:
$scope.$watchGroup(
["scroll_top", "tokeninput_has_focus"],
function(newValues, oldValues, scope) {
console.log("WATCH");
}
);
我在一个事件中更改了$ scope.scroll_top变量:
超出范围功能:
restegourmetApp.directive("scroll", function ($window) {
return function(scope, element, attrs) {
angular.element($window).bind("scroll", function() {
scope.$broadcast("onWindowScroll", $window);
});
};
});
在范围函数内:
$scope.$on('onWindowScroll', function(scope, element, attrs) {
$scope.scroll_top = $window.scrollY;
console.log("SCROLL");
});
但是当我滚动,控制台输出" SCROLL"时,不会执行watchGroup函数。但不是" WATCH"。
我需要将其更改为
$scope.$on('onWindowScroll', function(scope, element, attrs) {
$scope.scroll_top = $window.scrollY;
$scope.$apply();
console.log("SCROLL");
});
触发监视功能 -
我不明白这个?我以为我在$ scope的范围内。$ on。
必须有一些我不理解的东西,有人可以帮助我吗?
谢谢!