0

我试图在点击此框中的链接时隐藏框。AngularJS - 使用指令在内部元素中单击时隐藏div

我不想使用一个指令,以便能够添加更多的代码时,一旦框是隐藏的,并保持通用,所以我可以用其他视图。

我试过使用隔离的范围,但我想我做错了。

这里是一个小提琴链接:http://jsfiddle.net/rJvqf/

我有一个在我的控制器:

$scope.hideLoginBox = false; 

在我看来,我有NG隐藏= “hideLoginBox”

<div ng-app="MyApp"> 
    <div ng-controller="MyController"> 
    <div class="base" ng-hide="hideLoginBox"> 
     <p>outer</p> 
      <div class="child"> 
       <a href="" my-test="" hidebox="hideLoginBox" > 
        innner 
       </a> 
      </div> 
    </div> 
    </div> 
</div> 
一个div

当我点击链接时,我想使用伪指令myTest来隐藏这个div。

我不知道如何做到这一点。

感谢您的帮助!

问候, 埃里克

回答

1

快到了。您只需要一个scope.$apply,因为您处于元素的bind事件中,并且我将其更改为绑定到click而不是mousedown

这里是一个working jsfiddle

变化:

element.on('click', function(event) { 
    scope.hideLoginBox = true; 
    scope.hidebox = true; 
    scope.$apply(); 
    console.log(scope); 
    }); 
+0

谢谢是一个很大的帮助! – Eric