【问题标题】:Angular-carousel is not always updated on slides changeAngular-carousel 并不总是在幻灯片更改时更新
【发布时间】:2016-04-20 09:09:57
【问题描述】:

我是 AngularJS 的新手,非常感谢您的建议。 我有带图片的滑块:

 <ul rn-carousel rn-carousel-index="carouselIndex"  rn-carousel-buffered>
            <li ng-repeat="slide in slides track by slide.id" ng-class="'id-' + slide.id">
                <div ng-style="{'background-image': 'url(' + slide.image + ')'}"  class="bgimage">
                </div>
            </li>
        </ul>

在我的控制器中,我分配给$scope.slides 一些图像数组:

$scope.slides = [];
$.each(defaultImages,function(i, element)
       {
          var slide = {
            image://...
          };
          $scope.slides.push(slide);
       });

另外,我有一个改变幻灯片数组的函数:

$scope.colorClicked = function ($index, color_id) {
    //...
    $scope.slides = [];
    $.each(images,function(i, element)  
       {
          var slide = {
           image:/...
          };
          $scope.slides.push(slide);
       });
  }

我有两个问题:

1) 它工作正常,但有时当我的colorClicked 函数触发时,当前显示在滑块上的图像并没有改变。

我想知道我应该以某种方式更新滑块或范围吗?我在函数中尝试了$scope.$apply(),但没有帮助。

2) 即使我将数组传递给幻灯片集合,我仍然会在控制台中收到错误:Error: the slides collection must be an Array虽然我的滑块工作正常。

【问题讨论】:

  • 尝试将 ng-style 更改为 style="background-image: url({{slide.image}})"
  • 谢谢,但没有帮助
  • 我们需要查看您的imagesdefaultImages 变量

标签: javascript jquery angularjs angularjs-scope angular-carousel


【解决方案1】:

Solution error '错误:slides 集合必须是 Array at Error (native) angular-carousel.min.js:8'

//Controller
$scope.banners = [];

Banners.getListBanners().then(function (banners) {
    $scope.banners = banners;
});

//view

<ul rn-carousel rn-carousel-auto-slide rn-carousel-transition="slide" ng-show="banners.length > 0">
            <li ng-repeat="banner in banners">
                <p ng-bind-html="banner.title | to_trusted"></p>

                <img ng-if="isBlank(banner.link)" ng-src="{{banner.img}}" alt="{{banner.title | to_trusted}}">

                <a ng-if="!isBlank(banner.link)" ng-click="openInExternalBrowser(banner.link, banner.type)" href="#">
                    <img ng-src="{{banner.img}}" alt="{{banner.title | to_trusted}}">
                </a>

            </li>
        </ul>

【讨论】:

    猜你喜欢
    • 2016-08-19
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-17
    相关资源
    最近更新 更多