无法在document.bind中设置作用域

无法在document.bind中设置作用域

问题描述:

我试图重置两个在“esc”keyup事件之前定义的作用域,但在检出它们时显然不起作用。 $文档是在我的控制器的依赖关系上定义的。无法在document.bind中设置作用域

这里是我试过:

$document.bind('keyup', function (event) { 
    if (event.keyCode == 27) { 
     $scope.currentPage = false; 
    } 
}); 

我也尝试了jQuery的方式。它不起作用:

jQuery(document).keyup(function (event) { 
    if (event.keyCode == 27) { 
     $scope.currentPage = false; 
    } 
}); 

我错过了什么?怎么了?提前致谢!

+0

http://stackoverflow.com/questions/15424910/angularjs-access-scope-from-outside-js-function – adeneo

使用$ scope。$ apply(function(){...});强制Angular digest循环运行。

您的代码将是:

$document.bind('keyup', function (event) { 
    if (event.keyCode == 27) { 
    $scope.$apply(function() { 
     $scope.currentPage = false; 
    }); 
    } 
}); 
+0

工程就像一个魅力,谢谢! – Guney