我有一个菜单列表,当我执行 ng-repeat 时,它不工作,但没有 ng-repeat 它工作。
<div class="reports_header_tabs_holder">
<span ng-repeat="tab in filters.tabs" ng-class="{'active_tab': tab.href == filters.activeTab }">
<a ng-click="currentTpl='/{{tab.href}}.html'" >{{tab.title}}</a>
</span>
可见度 优化 存货
请阅读评论并相应地尝试,
<!-- if you comment the ng-repeat anchor, above line ( <a ng-click="currentTpl='/{{tab.href}}.html'" >{{tab.title}}</a> ), and uncomment the below anchors, it works, -->
最佳答案
问题是 ngRepeat
为每次迭代创建了单独的范围。这意味着单击您正在设置子作用域属性 currentTpl
的链接,这不会影响父作用域属性。最简单的解决方法是直接引用父作用域变量:
<span ng-repeat="tab in tabs">
<a ng-click="$parent.currentTpl = '/' + tab.href + '.html'" >{{tab.title}}</a>
</span>
另一个问题是你不应该在ngClick
里面使用{{
插值标签,因为这是一个表达式,你不必插值tab .href
获取它的值。
演示:http://jsfiddle.net/nLC3g/255/
关于javascript - ng-click ="currentTpl='/inventory.html'"内部 ng-repeat 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26977357/