AngularJS:ng-model 无法使用 ng-keydown 正确更新。以一个角色为原型

AngularJS : ng-model doesn't update correctly with ng-keydown. ng-model off by one character

我正在查看 AngularJS 上的文本输入,因为它被用户更改了。

但是,当我从我的 .js 打印到控制台时,ng-model 似乎关闭了一个字符,因为一次按键更新似乎有延迟。

例如: 如果用户键入 "hello",我会看到 "hell",直到触发另一个按键,然后我会看到 "hello",但用户输入可能是 "helloW"

如果说得通...抱歉。

基本上,有没有一种方法可以强制从我的控制器更新我的 ng-model,以便我可以看到每次按键时的用户输入?

我无法 post 我的代码,抱歉。

ng-changeng-model

结合使用

 var myApp = angular.module('app',[]);
 myApp.controller('Main', function ($scope) {      
    $scope.print = function(){
      console.log($scope.myname);
    }
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="app" ng-controller="Main">
<input type="text" name="inputbox" ng-change="print()" ng-model="myname">
</body>

尝试将“ng-keyup”与“ng-model”一起使用,而不是 ng-keydown :)

这里是文档: https://docs.angularjs.org/api/ng/directive/ngKeyup

 var app = angular.module('app',[]);
 app.controller('MyController', function ($scope) {      
    $scope.onKeyUpPrint = function(){
      // You can name the function as you want
      // scope will be triggered exactly on key Up
      console.log($scope.inputModel);
    }
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="app" ng-controller="MyController">
<h1>Use ng-keyup<h1>
<input type="text" name="inputbox" ng-keyup="onKeyUpPrint()" ng-model="inputModel">
</body>