我正在使用Angular为移动设备开发小型网页。 我想切换整个页面的点击监听器,如
$('.page').on('click',...);
$('.page').off('click',...);
但是以Angular的方式。而且我不想在某些条件下使用ng-Click
,因为大多数时候点击不起作用,它只是用于错误处理。是否可以或者我需要使用纯js / jQuery?
面板HTML:
<div class="alert error" ng-show="errorMessage">
<div class="alert-text">{{ errorMessage }}</div>
</div>
答案 0 :(得分:2)
ngIf
。ngIf
应引用范围ng-if='myFunc()'
或 ng-if='var1 || var2'
这是一个吸虫:http://plnkr.co/edit/fmNH2PbRrruRqGFYiui1?p=preview
<强>指令:强>
app.directive('errorBox', function($document, $parse){
return {
link: function(scope,elm,attrs) {
var clickHandler = function(){
scope.$apply(function(){
$parse(attrs.ngIf).assign(scope.$parent,'')
})
$document.off('click', clickHandler);
};
$document.on('click', clickHandler)
}
}
});
<强> HTML:强>
<div ng-if="errorMessage" error-box class="alert error">
<div class="alert-text">{{ errorMessage }}</div>
</div>
答案 1 :(得分:0)
你可以添加一个$ scope变量来跟踪它是否“允许”点击。然后你可以做这样的事情
<div ng-click="isDisabled || yourAction()"></div>