Angular.js ng show and directive没有'不起作用
Angular.js ng-show and directive doesn't work
我有以下html:
<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更改为false,但ng-show没有对此更改做出响应。为什么?Console.log显示$scope.showModal发生了更改。问题出在哪里?
return $document.bind('keydown', function(event) {
event.which === 27? scope.showModal = false :
});
您正在创建一个事件侦听器,该侦听器在角度摘要循环之外执行。因此,您必须告诉angular开始一个新的摘要周期,以便获取更改。您可以使用scope$申请这样做:
return $document.bind('keydown', function(event) {
scope.$apply(function(){
event.which === 27? scope.showModal = false :
});
});
演示
var app = angular.module("app", []);
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) {
scope.$apply(function() {
event.which === 27 ? scope.showModal = false : false;
});
});
}
}
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app">
<div class="modal-dialog" ng-controller="modal-ctrl" ng-show="showModal" execute-on-esc>
My Modal
</div>
</div>
相关文章:
- 我的AngularJS表达式没有'不起作用
- jpm的默认Firefox路径没有'不起作用
- pageMod没有'似乎不起作用
- jQuery.remove(Selector)没有'不起作用
- Phonegap 3.7.0手电筒插件没有'不起作用
- Javascript,如果条件在没有&&逻辑运算符当&&它不起作用
- javascript选项卡没有'不起作用
- JQuery示例不起作用-“;对象没有't支持属性或方法'按钮'&”;
- I'我试图在文本区域中进行特定的输入,调用特定的javascript函数,但没有成功;不起作用
- 手机摄像头没有'不起作用
- AngularJS没有'不起作用
- I'我不知道为什么我的代码没有'不起作用
- -webkit转换在JavaScript旋转动画中不起作用(没有JQuery)
- 角度 UI 类型提前不起作用 - 没有错误
- Jquery 谷歌自动完成不起作用 - 没有错误
- 在iframe中编写一些html和js,在IE中不起作用:没有定义$
- Peerjs不起作用.没有错误
- Twitter Bootstrap的下拉菜单不起作用——没有展开
- jQuery在任何浏览器中都不起作用(没有任何效果),但它在Codepen中工作
- 文档就绪不起作用.没有控制台错误,并且包括jQuery