我有这个代码,并且运行良好,我想知道如何在我的根范围内显示这个变量?
问题是我现在使用不同的控制器和指令 这样:
如果我把它放在directive1中:
<a href="" ng-click="showme=true">Show</a>
<button ng-click="showme=false">Hide</button>
并且这在指令2中不起作用:
<div class="wrapper">
<p ng-hide="showme">It will appear here!</p>
<h2 ng-show="showme">This is mah content, yo!</h2>
</div>
如果在同一指令html + angular
中,则完整代码正常工作 <div ng-app="">
<h1>Ng-show & ng-hide</h1>
<p class="description">Click on the "show"-link to see the content.</p>
<a href="" ng-click="showme=true">Show</a>
<button ng-click="showme=false">Hide</button>
<div class="wrapper">
<p ng-hide="showme">It will appear here!</p>
<h2 ng-show="showme">This is mah content, yo!</h2>
</div>
</div>
我听说过我可以使用类似$rootScope
之类的内容,但在这种情况下如何实现呢?谢谢。
答案 0 :(得分:2)
您需要确保在show
上设置$rootScope
。方便的地方是run
块:
.run(['$rootScope', function($rootScope) {
$rootScope.show = false
}])
之后,所有范围都将从其父级继承show。
另一种选择。您实际上可以从任何模板直接引用$rootScope
,这可能是最简单的解决方案:
<a href="" ng-click="$root.show = true">Show</a>
<button ng-click="$root.show = false">Hide</button>