我是否需要在$ scope中申请。$ on?

时间:2015-07-17 16:40:31

标签: angularjs angularjs-scope

我正在使用角度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。

必须有一些我不理解的东西,有人可以帮助我吗?

谢谢!

0 个答案:

没有答案