Slick Carousel Error: null is not an object (evaluating 'b.$slides.add')

Slick Carousel Error: null is not an object (evaluating 'b.$slides.add')

我正在使用 slick carousel 并遇到了之前的错误。我正在使用 angular 指令来设置可自定义轮播的元素。

      .day-slider.ng-hide{"ng-show"=> "true", "carousel" => "", "center-mode" => "false", "slides-to-scroll" => "3", "autoplay" => "false", "initial-slide" => @presenter.day - 1, "rtl" => "#{is_rtl? ? 'true' : 'false'}", "dir" => "#{is_rtl? ? 'rtl' : 'ltr'}", "arrows" => "false"}

我在 github 上的 post 中看到有人的解决方法是在尝试对元素进行 slick() 之前 unslick() 元素。

我还看到它与使用自定义箭头有关,但即使在配置中关闭箭头时我也会收到错误消息。同样的设置在另一个页面上有效,这就是错误令人困惑的地方。

这些修复都不适合我,除此之外,我在其他任何地方都没有看到这个问题。

如有任何帮助,我们将不胜感激!

事实证明,在 DOM 准备好之前,轮播正在尝试应用。

添加 $timeout 函数最终解决了许多巧妙的错误,包括这个问题的错误。

          controller: ["$element", "$scope", "$timeout", function($element, $scope, $timeout) {
            $timeout( function() {
               // your carousel code
            )};
          }]

相关:Slick Carousel with Angular JS