Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何使bxSlider在AngularJS中使用ng repeat?_Jquery_Angularjs_Angularjs Ng Repeat_Bxslider - Fatal编程技术网

Jquery 如何使bxSlider在AngularJS中使用ng repeat?

Jquery 如何使bxSlider在AngularJS中使用ng repeat?,jquery,angularjs,angularjs-ng-repeat,bxslider,Jquery,Angularjs,Angularjs Ng Repeat,Bxslider,我正在尝试更新一个现有的动态网页,该网页从SQLServer数据库获取图像和标题,并将其加载到AngularJS ng repeat中。bxSlider可以很好地处理静态数据,但当使用ng repeat从web服务获取数据时,它显示的就像图像列表一样 我试着在页眉、页脚和bxSlider div之后使用下面的脚本,但没有成功 $(窗口)。加载(函数(){ $(函数(){ $('.bxslider').load(函数(){ $('.bxslider').bxslider({ 速度:500,, 是的

我正在尝试更新一个现有的动态网页,该网页从SQLServer数据库获取图像和标题,并将其加载到AngularJS ng repeat中。bxSlider可以很好地处理静态数据,但当使用ng repeat从web服务获取数据时,它显示的就像图像列表一样

我试着在页眉、页脚和bxSlider div之后使用下面的脚本,但没有成功

$(窗口)。加载(函数(){
$(函数(){
$('.bxslider').load(函数(){
$('.bxslider').bxslider({
速度:500,,
是的,
标题:对,
滑动宽度:800
});
});
});
});

加载数据后,bxSlider未应用于控制器。 如何修复此问题以获得完美的滑块?

请参见以下示例: 将数据移动到异步服务以模拟web服务调用。我每隔5秒打两次电话来模拟新数据。当作用域被破坏时,请确保清理滑块对象

关键部分是这个链接功能<代码>范围。$watch更改的
slideit
属性,并使用
$timeout()
强制执行摘要循环

link: function(scope, elm, attrs) {
  var slider;
  scope.$watch('slideit', function() {
    if(slider) {
      slider.destroySlider();
    }
    scope.bestDeals = scope.slideit;
    if (scope.bestDeals && scope.bestDeals.length > 0) {
      $timeout(function() {
        slider = elm.bxSlider({
          captions: true,
          auto: true,
          autoControls: true,
          slideWidth: 110,
          minSlides: 1,
          maxSlides: 6,
          moveSlides: 1,
          slideMargin: 10,
          pager: false,
          autoHover: true,
        });
      });
    }
  });

  scope.$on('destroy', function() {
    if (slider) {
      slider.destroySlider();
    }
  });
},
请参见以下示例: 将数据移动到异步服务以模拟web服务调用。我每隔5秒打两次电话来模拟新数据。当作用域被破坏时,请确保清理滑块对象

关键部分是这个链接功能<代码>范围。$watch更改的
slideit
属性,并使用
$timeout()
强制执行摘要循环

link: function(scope, elm, attrs) {
  var slider;
  scope.$watch('slideit', function() {
    if(slider) {
      slider.destroySlider();
    }
    scope.bestDeals = scope.slideit;
    if (scope.bestDeals && scope.bestDeals.length > 0) {
      $timeout(function() {
        slider = elm.bxSlider({
          captions: true,
          auto: true,
          autoControls: true,
          slideWidth: 110,
          minSlides: 1,
          maxSlides: 6,
          moveSlides: 1,
          slideMargin: 10,
          pager: false,
          autoHover: true,
        });
      });
    }
  });

  scope.$on('destroy', function() {
    if (slider) {
      slider.destroySlider();
    }
  });
},

下面是一个plunker(不是我的),它演示了如何为bxSlider创建自定义指令:@Pop-a-Stash谢谢您的重播。但指令可以很好地处理硬编码的JSON数据,如演示中所示。当需要从asp.net web服务动态获取数据时,问题仍然存在。有没有我缺少的方法?我修改了上一个示例来观察
slideit
属性,以便在获取新的一天时正确创建和销毁滑块:下面是一个plunker(不是我的),它演示了如何为bxSlider创建自定义指令:@Pop-a-Stash谢谢您的重播。但指令可以很好地处理硬编码的JSON数据,如演示中所示。当需要从asp.net web服务动态获取数据时,问题仍然存在。是否缺少一种方法?我修改了上一个示例以查看
slideit
属性,以便在获取新日期时正确创建和销毁滑块: