Мне нужно предотвратить итерацию по указанному c «классу», пока я использую ng-repeat для Angularjs. Кто-нибудь может мне помочь? - PullRequest
0 голосов
/ 19 апреля 2020

Я использую angularjs в моей bootstrap карусели. когда я использую эту директиву ==> ng-repeat = "album in ActiveSinger.albums" для итерации по моему массиву, он продолжает повторять класс "active" в своем собственном div, что вызовет проблему в моей bootstrap карусели. (поскольку «активный» класс должен использоваться только для первого элемента и он будет автоматически пропущен через оставшиеся элементы, что обрабатывается bootstrap). поэтому, когда класс «активный» будет пропущен через все элементы, мои картинки будут накладываться друг на друга, а не на карусели. примечание: когда я удаляю "активный" класс в инструменте проверки браузера, он отлично работает !!! так что мне нужно, чтобы angularjs не повторял этот «активный» класс в остальной части моего «карусельного элемента». Буду признателен, если вы поможете мне с этим вопросом.

<div class="modal fade" id="SingerAlbum">
<div class="modal-dialog modal-dialog-centered" role="document">
    <div class="modal-content">
        <div class="modal-body">
            <div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel">
                <ol class="carousel-indicators">
                    <li data-target="#carouselExampleIndicators" data-slide-to="0" class="active"></li>
                    <li data-target="#carouselExampleIndicators" data-slide-to="1"></li>
                    <li data-target="#carouselExampleIndicators" data-slide-to="2"></li>
                    <li data-target="#carouselExampleIndicators" data-slide-to="3"></li>
                </ol>
                <div class="carousel-inner">
                    <div class="carousel-item active" ng-repeat="album in ActiveSinger.albums">
                        <img class="d-block w-100" ng-src="{{album.album_cover}}" alt={{album.slide_number}}>
                    </div>
                </div>
                <a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
                    <span class="carousel-control-prev-icon" aria-hidden="true"></span>
                    <span class="sr-only">Previous</span>
                </a>
                <a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next">
                    <span class="carousel-control-next-icon" aria-hidden="true"></span>
                    <span class="sr-only">Next</span>
                </a>
            </div>
        </div>
        <div class="modal-footer">
            <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
        </div>
    </div>
</div>

1 Ответ

0 голосов
/ 19 апреля 2020

Вы можете использовать l oop переменную $first в ng-class выражении

<div class="carousel-item" ng-repeat="album in ActiveSinger.albums" ng-class="{active: $first}">
  <img class="d-block w-100" ng-src="{{album.album_cover}}" alt={{album.slide_number}}>
</div>

Ищите больше переменных l oop в официальной документации ng-repeat и как использовать условия для стилей, используя ng-class

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...