点击此框内的链接时,我试图隐藏一个框。
我不想使用一个指令,一旦盒子被隐藏就能够添加更多的代码并保持它的通用性,所以我可以将它与其他视图一起使用。
我尝试使用隔离范围,但我想我做错了。
这是一个小提琴链接:http://jsfiddle.net/rJvqf/
我的控制器中有一个:
$scope.hideLoginBox = false;
在我看来,我有一个带有ng-hide =“hideLoginBox”的div
<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>
当我点击链接时,我想使用指令myTest隐藏这个div。
我无法弄清楚如何做到这一点。
感谢您的帮助!
此致 埃里克
答案 0 :(得分:1)
几乎就在那里。您只需要一个scope.$apply
,因为您处于元素的bind
事件中,我将其更改为绑定到click
而不是mousedown
。
的变化:
element.on('click', function(event) {
scope.hideLoginBox = true;
scope.hidebox = true;
scope.$apply();
console.log(scope);
});