0

我知道ng-switch-when期望一个值,但我用它创建了一个ng-repeat

我需要做什么才能使它起作用?:

<div ng-switch-when="2" ng-controller="pages as page" ng-switch="page.get()">
    <div ng-repeat="i in [1,2,3,4,5]">
        <div ng-switch-when="{{ i }}">
            {{i}}
        </div>
    </div>
    <button ng-hide="page.is(1)" ng-click="page.prev()" class="btn btn-info">Previous Page</button>
    <button ng-hide="page.is(5)" ng-click="page.next()" class="btn btn-info">Next Page</button>
    <br>
    <label>Page {{page.get()}}</label>
</div>

我想显示div值何时为“i”,但 angularjs 不接受。

我不知道这是否有很大的不同,但我正在使用一个由另一个显示的ng-switch内部 a 。divng-switch

提前致谢

编辑 1:我想创建ng-repeat5 个页面,这些页面位于 ng-switch 内。当重复的“i”值为一时,我希望它创建的页面在开关值等于一时显示,以及其余的页面

4

2 回答 2

0

简单的说:

你不能。

文档

请注意,要匹配的属性值不能是表达式。它们被解释为要匹配的文字字符串值。

你可以做些什么来达到同样的结果是使用ng-show如下:

<div ng-repeat="i in [1,2,3,4,5]">
    <div ng-show="page.get() === i">
        {{i}}
    </div>
</div>
于 2017-03-24T01:54:42.233 回答
0

尝试这样的事情:

<div ng-controller="pages as page" ng-switch="page.get()">
    <div ng-repeat="i in [1,2,3,4,5]">
      <div ng-switch = "i">
        <div ng-switch-when = "1">
          1
        </div>
        <div ng-switch-when = "2">
          2
        </div>
        <div ng-switch-when = "3">
          3
        </div>
        <div ng-switch-when = "4">
          4
        </div>
        <div ng-switch-when = "5">
          5
        </div>
      </div>
    </div>
    <button ng-hide="page.is(1)" ng-click="page.prev()" class="btn btn-info">Previous Page</button>
    <button ng-hide="page.is(5)" ng-click="page.next()" class="btn btn-info">Next Page</button>
    <br>
    <label>Page {{page.get()}}</label>
</div>
于 2016-06-19T02:53:45.347 回答