left
キーボードの矢印を押したとき、以下のコントローラに基づいて、<div>
とngShow
が表示されるはずです。Angelの `keydown`関数内でDOMが更新されない理由
$scope
が更新されます(これはコンソールに表示されます)が、DOMは変更されません。
しかし、input
フィールドに何かを入力すると、<div>
が表示されます。だから、そのような角度は私がとしている変更を見ていない。
コントローラ
.controller('TestCtrl', ['$scope', '$document', function($scope, $document) {
var keyboardMap = { 37: 'left'};
$document.on('keydown', function (event) {
var key = keyboardMap[event.which];
if (key) {
console.log('lefty');
$scope.left = true;
}
});
}]);
ビュー
<div ng-app="TestApp" ng-controller="TestCtrl">
<div ng-show="left" style="height: 100px; width: 100px; border: 1px black solid;"></div>
<input ng-model="something"></input>
</div>
私はSOには、いくつかの他の同様の質問を読みますが、それらは参考になりまし見つかりませんでした。私はここで理解していない何かのような気がする。
誰もがなぜアップデートしていないのか、どのようにアップデートできるのか分かっていますか?