【发布时间】:2014-01-15 09:58:13
【问题描述】:
我对 Javascript 尤其是 AngularJs 完全陌生。这是我的问题,我需要在 ng-repeat 中调用 ng-click 函数来隐藏它之外的一些 html。
据我了解,问题是因为所有变量(在这种情况下特别是变量“位置”)都在另一个我无法访问的范围内。任何人都可以用最短的方法帮助我解决这个问题吗?
到目前为止,我已经几乎完成了我的网站,只使用了 html 角度标签(这意味着我真的不需要编写任何自定义函数),这绝对是最后一块。
另外,据我所知,每当创建一个新的 Angular 控制器时,它都有自己的范围。在这种情况下,所有调用(除了我遇到问题的调用)都是在没有初始化任何控制器的情况下进行的,那么如何访问变量呢?有没有像“默认范围”这样的东西?我知道 rootScope 对我不起作用。
提前谢谢你。
<div id="top_nav">
<div id="top_nav_right">
<div id="page_header" ng-show="checked" ng-switch on="page">
</div>
<a href="#" ng-click="checked = ! checked">
</a>
</div>
</div>
<div id="main_sidebar" class="check-element animate-hide" ng-show="checked">
<ul class="menu" ng-show="!locations">
</ul>
<ul class="menu" ng-show="locations">
</ul>
</div>
<div id="sub_sidebar" ng-show="checked" ng-switch on="page">
<div ng-switch-default "check-element animate-hide">
<div id="latest_trips_container">
<div ng-controller="PostsCtrlAjax">
<ul id="latest_trips" ng-controller="MyCtrl">
<li ng-repeat="post in travels">
<div id="trip_details">
<a id="details" href="#/details" ng-click="locations =! locations"></a>
</div>
</li>
</ul>
</div>
</div>
</div>
</div>
【问题讨论】:
-
为什么 rootscope 不起作用?你试过什么?
-
我真的不知道。就好像变量根本不在 rootScope 中一样。
标签: javascript html angularjs angularjs-scope