Angularjs 解析:在指令内运行角度代码时出现语法错误

Angularjs 解析:在指令内运行角度代码时出现语法错误,angularjs,Angularjs,以下代码在控制台中给了我错误:[$parse:syntax] <ul class="nav navbar-nav" ng-repeat="webpage in first.webpages"> <li><a href ng-click="tab = {{webpage.id}}">{{webpage.name}}</a></li> </ul> ng

以下代码在控制台中给了我
错误:[$parse:syntax]

          <ul class="nav navbar-nav" ng-repeat="webpage in first.webpages">
            <li><a  href ng-click="tab = {{webpage.id}}">{{webpage.name}}</a></li>
          </ul>

ng repeat
仅适用于
{{webpage.name}
指令,而不适用于
{{webpage.id}}
指令中的
{webpage.id}
指令。当我试图打印
{{tab}}
时,没有显示任何内容。

我相信在角度元素中不需要双大括号。在ng重复时,需要调用父作用域:

ng-click="$parent.tab = webpage.id"
应该是:

      <ul class="nav navbar-nav" ng-repeat="webpage in first.webpages">
        <li><a  href ng-click="tab = webpage.id">{{webpage.name}}</a></li>
      </ul>

当您在ng click中时,您不需要插入任何内容,因为它会为您执行此操作。

不工作,当我使用Chrome的开发工具检查元素时,我得到了
。打印{{tab}}也不会显示任何内容。好吧,在ng repeat中使用tab时,实际上您在错误的范围内。要在主作用域中获取它,请使用$parent.tab。谢谢,
{{tab}
仅在标记内部使用
ng repeat
。为什么其范围仅在
ng repeat
下。我将在
ng repeat
的范围外使用“ng show=“tab==1”,如何操作?如果在ng click中使用$parent.tab,您应该能够使用{{tab}从ng repeat外部获取它