我在我的应用程序中使用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
});
})
}
}
})
上面我在准备好功能之后使用这个$($(element[0])).bxSlider({
因为我搜索bxslider应该与ng-repeat 一起使用的问题并且找到了这个解决方案,之后bxslider正在工作但有时候会出现问题没有加载,我总能看到这个错误。
未捕获的TypeError:无法读取属性' indexOf'未定义的
答案 0 :(得分:19)
最后,经过这么多搜索,我得到了答案
这不是angularjs错误,这是与bxslider兼容的jquery版本。
问题是由jQuery .load()
函数引起的。
在bxslider.js文件中找到.load()
函数的代码行。它在bxslider.js中只使用过一次。
这
$(this).load();
要
$(this).trigger('load');
感谢kkakkurt提供了这个出色的解决方案https://stackoverflow.com/a/38562965/4119808