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
Angularjs 在调整页面大小之前不显示图像的离子幻灯片框_Angularjs_Ionic Framework - Fatal编程技术网

Angularjs 在调整页面大小之前不显示图像的离子幻灯片框

Angularjs 在调整页面大小之前不显示图像的离子幻灯片框,angularjs,ionic-framework,Angularjs,Ionic Framework,我遇到了一个非常奇怪的问题。有一个离子幻灯片盒,其中包含一些图像: <ion-view > <ion-content overflow-scroll="false" > <ion-slide-box show-pager="true"> <ion-slide ng-repeat="item in featured"> <img class="featured-image" ng-src=

我遇到了一个非常奇怪的问题。有一个离子幻灯片盒,其中包含一些图像:

<ion-view >
    <ion-content overflow-scroll="false" >
      <ion-slide-box show-pager="true">
        <ion-slide ng-repeat="item in featured">
          <img class="featured-image" ng-src="{{item.thumbnail}}" alt="" />
        </ion-slide>
      </ion-slide-box>
    </ion-content>
 </ion-view>

有什么想法吗?谢谢

我通过更改控制器代码解决了此问题:

function loadFeatured() {

      MySvc.getFeatured(function(success, data) {
        if ( success ) {
          $scope.featured = data;
          setTimeout(function() {
                $ionicSlideBoxDelegate.slide(0);
                $ionicSlideBoxDelegate.update();
                $scope.$apply();
                });
        } else {
          alert(error.message);
        }
      });
    }

我通过更改控制器代码解决了此问题:

function loadFeatured() {

      MySvc.getFeatured(function(success, data) {
        if ( success ) {
          $scope.featured = data;
          setTimeout(function() {
                $ionicSlideBoxDelegate.slide(0);
                $ionicSlideBoxDelegate.update();
                $scope.$apply();
                });
        } else {
          alert(error.message);
        }
      });
    }

您应该使用angularjs的超时:
$timeout(function(){$ionicSlideBoxDelegate.slide(0);$ionicSlideBoxDelegate.update();})
setTimeout和$timeout有什么区别?
$timeout
已经为您执行了
$scope.apply()
,因此您不必显式调用它。谷歌自己获取更多信息;-)您应该使用angularjs的超时:
$timeout(function(){$ionicSlideBoxDelegate.slide(0);$ionicSlideBoxDelegate.update();})
setTimeout和$timeout有什么区别?
$timeout
已经为您执行了
$scope.apply()
,因此您不必显式调用它。谷歌自己获取更多信息;-)