Угловой / ID + целое число

0

Я использую угловой ng-repeat для создания массива объектов, имеющих один и тот же формат html. Затем объекты заполняются значениями либо с помощью выражений, либо с помощью ng-bind-html. Различные объекты содержат страницы списков, на вкладке которых расположены разные страницы в теле контекста в соответствии с идентификатором. Проблема в том, что кнопки табуляции должны переносить меня на разные страницы внутри конкретного объекта, но поскольку ng-repeat создает дубликаты точной формы с различными значениями в соответствии с выражениями/директивами, вся страница рассматривается как один объект и id для одной вкладки отвечает на другой объект из массива, который имеет тот же атрибут. Я ищу способ добавить целое число до конца каждого идентификатора после создания каждого объекта из массива, чтобы каждый элемент обрабатывался по-разному, а не все, что они ведут себя одинаково, потому что у них одинаковый точный идентификатор кода ниже.

<div class="col-md-6" data-ng-repeat="track in dashboard.items track by track.id">
            <div class="panel-body">
                <div class="panel-primary">
                    <h3 class="panel-title"><i class="icon-rocket fa-fw"></i> <span class="hidden-xs"><strong>@*Track name goes in here*@{{track.name}}</strong></span></h3>
                </div>
            </div>
            <div id="demo3-panel" class="panel panel-blue" data-context="">
                <div class="panel-in">
                    <div class="panel-blue pull-right">
                        <ul class="nav nav-tabs nav-contrast-dark" id="demo3-tabs">
                            <li class="active"><a href="#description1" data-toggle="tab">Description</a></li>
                            <li class=""><a href="//this is the id that I want to change by adding an integer to the end of the id name after each ng-repeat// moreInfo" data-toggle="tab">More Info</a></li>
                            <li class="dropdown">
                                <a href="#" class="dropdown-toggle" data-toggle="dropdown">Requirements<i class="fa fa-angle-down"></i></a>
                                <ul class="dropdown-menu dropdown-menu-right">
                                    <li ng-repeat="course in track.courses"><a href="#{{course.name}}" data-toggle="tab">{{course.name}}</a></li>
                                </ul>
                            </li>
                        </ul>
                    </div>
                </div>
                <div class="panel-body">
                    <div class="tab-content">
                        <div class="tab-pane fade in active" id="description1 {{course.name}}">
                            <br><br>
                            <p class="text-blue" style="text-align:center"><strong>Description:</strong></p>
                            <p ng-bind-html="track.description"></p>
                        </div>
                        <div class="tab-pane fade" id="moreInfo1"><br><br>
                           <p class="text-blue" style="text-align:center"><strong>More Information about {{track.name}}:</strong></p>
                            <p ng-bind-html="track.moreInformation"></p>
                        </div>
                        <div class="tab-pane fade" ng-repeat="course in track.courses" id="{{course.name}}"><br><br>
                            <p class="text-info" style="text-align:center"><strong>{{course.name}}:</strong></p>
                            <p>{{course.description}}</p>
                            <a href="#">Register For {{course.name}} Section</a>
                        </div>
                    </div><!-- /tab-content -->
                </div><!-- /panel-body -->
                <a href="track/{{track.id}}/edit" class="cmdEditButton btn btn-info">Edit</a>
            </div><!-- /.panel -->
        </div><!-- /.cols -->
    </div><!-- /.panel -->
  • 0
    Что не так с track.id ? a href="#moreInfo{{track.id}}"
Теги:

1 ответ

0

В каждой дочерней области ng-repeat имеется набор переменных области видимости, из которых один - $index

Вы должны иметь возможность сделать что-то вроде:

<a href="#tab-content-{{$index}}">

См. ng-repeat docs для списка всех переменных, доступных в пределах каждой дочерней области

  • 0
    Использование разметки Angular наподобие {{hash}} в атрибуте href заставит ссылку перейти на неправильный URL, если пользователь щелкнет по ней до того, как Angular сможет заменить разметку {{hash}} ее значением.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню