【问题标题】:angularjs ng-repeat is not working to owl-carouselangularjs ng-repeat 不适用于 owl-carousel
【发布时间】:2017-08-03 05:28:12
【问题描述】:

我遇到了一个问题,每当将 ng-repeat 指令应用于轮播时,项目都会垂直堆叠而不是水平布局。

截图供参考

After Applying ng-repeat

如果我省略 ng-repeat 并使用静态项目,那么它应该可以正常工作。

When used static

ng-repeat 的 HTML 代码

<section class="mp diff-types-section main-movies-position">

  <div class="mp our-recommend-sec">
    <div id="owl-demo2" class="owl-carousel" ng-repeat="movie in movieList">
      <div class="item">
        <div class="types-section">
          <img class="types-section-image image-opacity" ng-src="/public/uploads/{{movie.movieId}}/backdrop.jpg" />
        </div>
      </div>
    </div>
  </div>
</section>

AngularJs 控制器代码

app.controller('MainCtrl', ['$rootScope', '$scope', '$http', '$resource', '$route', '$state', '$location', 'localStorageService', function($rootScope, $scope, $http, $resource, $route, $state, $location, localStorageService) {
  $rootScope.showNav = true;
  $rootScope.searchBar = false;

  $scope.getAllMovieList = function() {
    $http.get("/api/getAllMovieList")
      .then(function(response) {
        $scope.movieList = response.data;
        console.log($scope.movieList);
      });
  }

  $scope.getAllMovieList();
}])

如果我保持这样的静态代码,它可以正常工作,没有问题

<section class="mp diff-types-section our-reccomendation-section">
  <div class=" mp our-recommend-sec">
    <div id="owl-demo" class="owl-carousel owl-theme">
      <div class="item">
        <div class="types-section">
          <a ng-click="goToMovieDetail()"> <img class="types-section-image" src="../../images/92ZhAYYce2KfuLgBswzW5HCMKxr.jpg"></a>

        </div>
      </div>
      <div class="item">
        <div class="types-section" ng-click="goToMovieDetail()">
          <img class="types-section-image" src="../../images/Shooter_1920x1080.jpg">

        </div>
      </div>
      <div class="item">
        <div class=" types-section" ng-click="goToMovieDetail()">
          <img class="types-section-image" src="/public/uploads/ow168259/backdrop.jpg">

        </div>
      </div>
      <div class="item">
        <div class="types-section" ng-click="goToMovieDetail()">
          <img class="types-section-image" src="/public/uploads/ow168259/backdrop.jpg">

        </div>
      </div>
    </div>
  </div>

</section>

希望我能得到解决方案...

提前致谢。

【问题讨论】:

  • 尝试将$scope.movieList声明为getAllMovieList函数之外的对象或数组。
  • 好吧我试试.....
  • 我的意思是$scope.movieList = [];
  • 好吧,让你知道
  • 是的....

标签: angularjs angularjs-ng-repeat owl-carousel


【解决方案1】:

Owl-carousel 可能无法与 angularjs 完美配合,建议您使用支持 angularjs 的 carousel,我个人使用 angular-ui-bootstrap,它具有引导程序必须提供的所有组件,但提供了 angular 变体。

【讨论】:

    【解决方案2】:

    此解决方案会对您有所帮助

     Put owl carousel function after getting response 
     **use Like:** 
     $timeout(function(){ here your owl carousel function },10);
    

    【讨论】:

    • 我认为您的 API 响应问题。你得到正确的回应了吗?
    猜你喜欢
    • 2014-09-01
    • 1970-01-01
    • 2018-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多