bxslider directive throwing error `Uncaught TypeError: Cannot read property 'indexOf' of undefined`
bxslider directive throwing error `Uncaught TypeError: Cannot read property 'indexOf' of undefined`
我在为 bxslider 创建指令的应用程序中使用 angularjs。下面是指令代码:
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正在工作,但有时无法加载图像,我总是会看到此错误。
Uncaught TypeError: Cannot read property 'indexOf' of undefined
找了这么多终于找到答案了
这不是 angularjs 错误,这是与 bxslider 的 jquery 版本兼容性。
问题是由 jQuery .load()
函数引起的。
在 bxslider.js 文件中找到 .load()
函数的代码行。它在 bxslider.js.
中仅使用了 1 次
来自
$(this).load();
到
$(this).trigger('load');
感谢 kkakkurt 提供的出色解决方案
我在为 bxslider 创建指令的应用程序中使用 angularjs。下面是指令代码:
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正在工作,但有时无法加载图像,我总是会看到此错误。
Uncaught TypeError: Cannot read property 'indexOf' of undefined
找了这么多终于找到答案了
这不是 angularjs 错误,这是与 bxslider 的 jquery 版本兼容性。
问题是由 jQuery .load()
函数引起的。
在 bxslider.js 文件中找到 .load()
函数的代码行。它在 bxslider.js.
来自
$(this).load();
到
$(this).trigger('load');
感谢 kkakkurt 提供的出色解决方案