2016-05-09 9 views
0

Ich bin eine Cross-Plattform-Anwendung mit Angular Kendo Mobile.Wie Scroll-Ereignis zu erhalten, wenn Kendo-List-Ansicht scrollt

Ich habe eine Kendo-Liste mit "Kendo-List-View".

<div kendo-list-view > 

Ich möchte ein Ereignis erhalten, wenn Benutzer diese Liste in meinem Controller scrollt.

Ich habe auch versucht, das scroll-Ereignis mit reinem Winkelcode zu bekommen, wie in der folgenden Frage erwähnt.

Bind class toggle to window scroll event

Aber in meinem Fall nichts passiert und Code innerhalb der Richtlinie nicht genannt zu werden.

UPDATE

Ich habe meine HTML mit Listenansicht wie folgt:

<kendo-mobile-view id="myListScreen" k-transition="'slide'" k-title="'My List'" k-layout="'default'" ng-controller="myListCtrl"> 

    <kendo-mobile-header > 
     <kendo-mobile-nav-bar style="background-color: gray"> 
      <kendo-view-title style="color: white"></kendo-view-title> 
      <kendo-mobile-button k-rel="'drawer'" href="#navDrawer" k-align="'left'"><img src="img/menu.png"></kendo-mobile-button> 
     </kendo-mobile-nav-bar> 
    </kendo-mobile-header> 

    <div class="myListMainDiv"> 
     <div kendo-list-view 
      id="myListViewDiv" 
      class="myListViewDiv" 
      k-template="templates.myListViewItem" 
      k-data-source="myService.listDataSource" 
      ng-show="showListSelected" 
      ></div> 
    </div> 

    <script id="myListViewItem" type="text/x-kendo-template"> 
     <div id="{{dataItem.id}}" ng-click="onSelected(dataItem.id)"> 
      {{dataItem.name}} 
     </div> 
    </script> 

</kendo-mobile-view> 

ich diese Seite in meinem Root-Seite bin Laden, wenn der Benutzer auf dieser Seite navigieren wählt kendo.mobile.application.navigate("MyList.html"); verwenden. Und wenn der Controller für diese Seite geladen wird, habe ich eine Liste mit new kendo.data.DataSource erstellt und ich habe new kendo.data.ObservableArray an meine Datenquelle angehängt.

+0

Verwenden Sie natives Scrollen in Ihrer App? – Akis

+0

@Akis_TFS Ich bin mir nicht sicher, ob ich bin, ich habe nicht 'k-use-native-scrolling = '' true '" ' – User7723337

+0

@Akis_TFS Ich habe meine Frage mit meinem Listenansicht Beispielcode aktualisiert. – User7723337

Antwort

1

Sie können die Scroll-Ereignis aus der Scroller Ihrer Kendo Mobile Ansicht, Zum Beispiel, wenn Sie eine Ansicht mit id="myListScreen" haben:

var kendoView = $('#myListScreen').data().kendoMobileView; 
    var scroller = kendoView.scroller; 

    scroller.bind("scroll", function(e) { 
     console.log(e.scrollTop); 
     console.log(e.scrollLeft); 
    }); 

Sie weitere Informationen über die Kendo scroller finden here on their documentation

+0

Danke für die Wiederholung, aber wenn ich diesen Code versuche, bekomme ich kein Ereignis in meiner Rückrufmethode. Ich erhalte den Fehler 'Uncaught TypeError: Kann die Eigenschaft 'Scroller' von undefined nicht in meinen Protokollen lesen, daher ist' data(). KendoMobileView' null. – User7723337

+0

@A_user hmm Sie sollten die Kendo Mobile View auf diese Weise bekommen können. Kannst du bitte den Code zeigen, wo du deine Kendo View definierst? – Akis

+0

@ Akis-tfs - Ich habe meine Frage mit meinem Listenansichtscode aktualisiert. – User7723337