2015-05-30 15 views
9

Bir chatapp üzerinde çalışıyorum ve en chatapps gibi benim uygulama mesajlarının bir listesini gösterir.Nasıl alttan kaydırma listesini başlatmak için?

  • Liste, ng-repeat ile üretilir. Yeni üstündeki eski altta ve böylece
  • Ben mesajlar geri aldık.

benim app listesini yükler Şu

$ ionicScrollDelegate

ben bu şekilde yapıyor bunu sevmiyorum ile aşağıya kayar. Doğru yol değil ve bazen bu, uygulamanızı açarken bana bazı performans ve yükleme sorunları veriyor.

başka, zorla yol olup olmadığını merak ediyorum,/başlatmak şimdi yaptığım gibi alta kadar kaydırmadan gerek kalmadan aşağıdan yukarıya doğru listesi oluşturma. Benim HTML'de
:
Bu
Şu anda kullandığınız koddur yılında

<script type="text/ng-template" id="home.html"> 
    <ion-view ng-controller="HomeController" title="Home"> 
     <ion-content> 
      <ion-list> 
       <ion-item ng-repeat="message in messages track by $index"> 
        {{message}} 
       </ion-item> 
      </ion-list> 
     </ion-content>  
    </ion-view> 
</script> 

benim app.js:

$scope.$watch('messages', function(newValue, oldValue) { 
    $ionicScrollDelegate.scrollBottom(true); 
}, true); 

nedeni:

app.run(function($ionicPlatform, $state, $timeout, $localStorage, $location, $rootScope, $ionicScrollDelegate) { 
    document.addEventListener('deviceReady', function() { 
     setTimeout(function() { 
       $ionicScrollDelegate.scrollBottom(true); 
     }, 500); 
    }); 
}) 
+1

Bunu dikkate alın, ancak aşağıdakilerden emin olabilirsiniz: https://codepen.io/rossmartin/pen/XJmpQr –

cevap

1

yerine bir saat ekle Bu davranışa neden oluyor cihazReady th garanti etmez Öğeler henüz oluşturulmamış, bu da listenin hiç bir yere kaydırılmamasına neden oluyor. Bir saat ile, dizi yüklendiğinde ve değerler zaten oradayken kaydırırsınız.

+0

OP, "bunu aşağıya kaydırmaya gerek kalmadan" yapmak istedi – lilbiscuit

İlgili konular