bxslider指令抛出错误`Uncaught TypeError:无法读取未定义`的属性'indexOf'

Gau*_*wal 6 html jquery bxslider angularjs

我在我的应用程序中使用angularjs,我已经为bxslider创建了一个指令.以下是指令代码:

angular.module('sbAdminApp')
.directive('bxSlider', function(){
    return{
        restrict: "A",
        require: "ngModel",
        link: function(scope, element, attrs, ctrl){
            element.ready(function(){
                $($(element[0])).bxSlider({
                    maxSlides:1,
                    auto:true,
                    controls:false,
                    pager:true
                });
            })
        }
    }
})
Run Code Online (Sandbox Code Playgroud)

上面我$($(element[0])).bxSlider({在准备好功能之后使用这样的东西,因为我搜索了一个问题,其中bxslider应该与ng-repeat一起使用并找到这个解决方案,之后bxslider正在工作但有时图像没有加载,我总能看到这个错误.

未捕获的TypeError:无法读取未定义的属性'indexOf'

Gau*_*wal 21

最后,经过这么多搜索,我得到了答案

这不是angularjs错误,这是与bxslider兼容的jquery版本.

问题是由jQuery .load()函数引起的.

在bxslider.js文件中查找.load()函数的代码行.它在bxslider.js中只使用了一次.

$(this).load();
Run Code Online (Sandbox Code Playgroud)

$(this).trigger('load');
Run Code Online (Sandbox Code Playgroud)

感谢kkakkurt为这个伟大的解决方案/sf/answers/2699407581/