I次のようなHTMLがあります。Angular.js NG-ショーとディレクティブは動作しません
<div class="modal-dialog" ng-controller="modal-ctrl" ng-show="showModal" execute-on-esc>
Angular.jsアプリ:
app.controller('modal-ctrl', function($scope) {
$scope.showModal = true;
});
app.directive('executeOnEsc', function ($document) {
return {
restrict: 'A',
link: function (scope) {
return $document.bind('keydown', function(event) {
event.which === 27? scope.showModal = false : false;
});
}
}
});
すべてがうまく機能し、$ scope.showModalのchagesへのfalseですが、ng-showはこの変更に応答しません。どうして? Console.logは、$ scope.showModalが変更されることを示しています。 どこに問題がありますか?
:あなたはこれを行うにはscope.$applyを使用することができますか? –
return $ document.bind( 'keydown'、function(event){ event.which === 27 scope.showModal = false:false; console.log(scope.showModal); }); 別のルーツ、そうですか? –
ng-showをng-hideに置き換えるだけで表示を確認できますか? –