kendo-list-view滚动时如何获取滚动事件

How to get scroll event when kendo-list-view scrolls

我正在使用 Angular Kendo Mobile 构建跨平台应用程序。

我有一个使用 "kendo-list-view" 的 Kendo 列表。

<div kendo-list-view > 

我想在我的控制器中当用户滚动此列表时获得一个事件。

我还尝试使用纯 angular 代码来获取滚动事件,如下面的问题所述。

Bind class toggle to window scroll event

但在我的例子中没有任何反应,指令中的代码没有被调用。

更新

我的 HTML 列表视图如下:

<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>

当用户选择使用 kendo.mobile.application.navigate("MyList.html"); 导航到此页面时,我正在我的根页面中加载此页面。当此页面的控制器加载时,我使用 new kendo.data.DataSource 创建了列表,并将 new kendo.data.ObservableArray 附加到我的数据源。

您可以从 Kendo 移动视图的 Scroller 获取滚动事件, 例如,如果您有一个带有 id="myListScreen":

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

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

您可以找到有关 kendo 滚动条的更多信息 here on their documentation