我有一个菜单列表,当我执行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, -->
答案 0 :(得分:2)
问题是ngRepeat
为每次迭代创建了单独的范围。这意味着单击要设置子范围属性currentTpl
的链接,这不会影响父级别。最简单的修复方法是直接引用父范围变量:
<span ng-repeat="tab in tabs">
<a ng-click="$parent.currentTpl = '/' + tab.href + '.html'" >{{tab.title}}</a>
</span>
另一个问题是您不应在{{
内使用ngClick
插值标记,因为这是一个表达式,您不必插入tab.href
来获取其值