Slick Carousel 错误: null 不是一个对象(评估 'b.$slides.add')

9 浏览
0 Comments

Slick Carousel 错误: null 不是一个对象(评估 'b.$slides.add')

我正在使用一个精巧的轮播插件,并遇到了上述错误。我使用一个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上的一篇帖子中看到有人的解决方法是在slick()之前将元素unslick()。

我还看到有人说这可能与使用自定义箭头有关,但即使在配置中关闭箭头,我仍然遇到了这个错误。这个相同的设置在另一页上工作正常,这让我对错误感到困惑。

这些解决方法对我都没有起作用,除此之外,我没有在其他地方看到这个问题。

非常感谢任何帮助!

0
0 Comments

Slick Carousel报错:null is not an object (evaluating 'b.$slides.add')的问题是因为在DOM准备好之前尝试应用轮播功能导致的。

解决方法是添加$timeout函数,这样可以解决许多slick错误,包括这个问题。

代码示例:

controller: ["$element", "$scope", "$timeout", function($element, $scope, $timeout) {
  $timeout( function() {
    // 这里是轮播代码
  )};
}]

相关链接:Slick Carousel with Angular JS

0