2015-07-10 33 views
0

我在我的應用程序中使用此指令http://jsfiddle.net/q62jx3s6/這是angularjs與離子,我的問題是當我嘗試使用此指令中的無限滾動僅當我滾動時才加載更多數據:需要幫助包括無限滾動在fanjs選擇angularjs +離子

首先,我將顯示我的代碼並解決問題。

花式選擇 - items.html我放在這裏:

 <label class="item item-input"> 
      <i class="icon ion-search placeholder-icon"></i> 
      <input type="search" ng-model="search" placeholder="Buscar ..."> 
     </label> 
     <!-- Multi select --> 
     <ion-toggle 
        ng-repeat="item in items | filter:search" 
        ng-if="multiSelect" 
        ng-checked="item.checked" 
        ng-model="item.checked" 
        class="item item-text-wrap"> 
      {{item.text}} 
     </ion-toggle> 

     <!-- Single select --> 
     <ion-item 
       ng-repeat="item in items | filter:search" 
       ng-if="!multiSelect" 
       class="item item-text-wrap" 
       ng-click='validateSingle(item)'> 
      {{item.text}} 
     </ion-item> 
    </ion-list> 

    <ion-infinite-scroll spinner on-infinite="loadMore()" distance="10%"> 

    </ion-infinite-scroll> 
</ion-content> 

並在指令花式選擇我把這個:

scope.loadMore = function() { 
     $timeout(function() { 
      scope.items.push({ 
       id: "1", 
       text: "teste" 
      }); 
      console.log('inseriu'); 
      $scope.$broadcast('scroll.infiniteScrollReady'); 
      $scope.$broadcast('scroll.infiniteScrollComplete'); 
      $scope.$broadcast('scroll.resize'); 

     }, 500); 
    }  

和在我的表單模板中,我把這個:

<fancy-select 
        header-text="Parcero" 
        allow-empty='false' 
        value="formData.parcero" 
        text="elparcero" 
        items="parceros" 
        ng-change="change()" 
        ng-model="formData.parcero"> 
    </fancy-select> 

控制器:

$scope.parceros = []; 

var query = "SELECT * FROM cadc001 WHERE cd_empresa =" + sessao.getData("sess_empresa") + " LIMIT 1, 30"; 
$cordovaSQLite.execute(db, query, []).then(function(res) { 
     if (res.rows.length > 0) { 
      for (var i = 0; i < res.rows.length; i++) { 
       $scope.parceros.push({ 
        id: res.rows.item(i).id, 
        text: unescape(res.rows.item(i).nome), 
        checked: false, 
        icon: null 
       }); 
      } 
     } 
}, function(err) { 
     console.error(err); 
}); 

$scope.elparcero = 'Selecione un Parcero'; 

當我嘗試打開該應用程序,我點擊選擇他開的模態,然後我滾動至底部,他開始增加許多項目,而不是停止,保持加入循環。當我滾動時,他不得不只添加1件物品,每次1件。

在我的日誌

.... 
6  655085 log  inseriu 
7  655621 log  inseriu 
8  656220 log  inseriu 
9  656826 log  inseriu 
10 657357 log  inseriu 
11 657897 log  inseriu 
12 658433 log  inseriu 
13 658965 log  inseriu 
14 659505 log  inseriu 
15 660041 log  inseriu 
16 660577 log  inseriu 
17 680685 log  inseriu 
18 680697 log  inseriu 
...... 

有這樣的工作,一個單位時間時滾動至底部:

http://codepen.io/elm/pen/Becqp

請幫幫我,我的英語不好意思說錯了話。

+0

http://jsfiddle.net/q62jx3s6/ - >花式選擇 – Gustavo

回答

0

嘗試移動裏面的代碼$apply

$timeout(function() { 

    $scope.$apply(function(){ 
     scope.items.push({ 
     id: "1", 
     text: "teste" 
     }); 
     console.log('inseriu'); 
     $scope.$broadcast('scroll.infiniteScrollReady'); 
     $scope.$broadcast('scroll.infiniteScrollComplete'); 
     $scope.$broadcast('scroll.resize'); 
    }); 

    }, 500);