非常清晰简单的一个小demo 但是.
angular.module('word', [])
.controller('wordCtrl',['$scope','$document',
function ($scope,$document){
$scope.selectNum = 1;
$document.bind("keypress", function(event) {
if(event.keyCode == 38){
$scope.selectNum--;
}
if(event.keyCode == 40){
$scope.selectNum++;
}
console.log($scope.selectNum);
});
$scope.$watch('selectNum',function (){
console.log($scope.selectNum);
})
$scope.getNum = function () {
$scope.$apply();
alert($scope.selectNum);
}
}])
$wacth 每次 按 小键盘 上下键都可以成功输出 selectNum的值,但是$watch不会a检测到selectNum值的变动视图{{selectNum}}也无变化. 除非调用一次 getNum()
昨天已经解决了. 这里把代码发出来 方便后面遇到这个问题的朋友吧