AngularJS 'ng-switch-when' с выражением

Я знаю 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 внутри div который отображается другим ng-switch,

заранее спасибо

РЕДАКТИРОВАТЬ 1: я хочу создать с ng-repeat 5 страниц, которые находятся внутри нг-переключателя. Когда значение повторения "i" равно единице, я хочу, чтобы созданная им страница отображалась, когда значение переключателя равно единице, а также для остальных из них

2 ответа

Проще говоря:

Ты не можешь

Из документов:

Имейте в виду, что значения атрибутов для сопоставления не могут быть выражениями. Они интерпретируются как литеральные строковые значения для сравнения.

Что вы могли бы сделать, чтобы достичь того же результата, это использовать ng-show следующее:

<div ng-repeat="i in [1,2,3,4,5]">
    <div ng-show="page.get() === i">
        {{i}}
    </div>
</div>

Попробуйте что-то вроде этого:

<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>
Другие вопросы по тегам