Javascript 如何使用Kendo UI PullParameters函数和Pull刷新?

Javascript 如何使用Kendo UI PullParameters函数和Pull刷新?,javascript,kendo-ui,kendo-mobile,Javascript,Kendo Ui,Kendo Mobile,我正在尝试让我的ListView使用Pull刷新。尽管如此,我还是无法使用listview refresehd 基本上,当用户触发pull刷新时,它应该替换列表视图的全部内容 下面是我如何处理列表视图和刷新的方法: function handle_geolocation_query( position ) { $.when( Event.getEventsNearby( position.coords.latitude, position.coords.longitude, radius

我正在尝试让我的ListView使用Pull刷新。尽管如此,我还是无法使用listview refresehd

基本上,当用户触发pull刷新时,它应该替换列表视图的全部内容

下面是我如何处理列表视图和刷新的方法:

function handle_geolocation_query( position )
{
    $.when( Event.getEventsNearby( position.coords.latitude, position.coords.longitude, radius, limit, offset, key ) ).done( function( response )
    {
        var dataToBeCached = new Array();

        //In order not to cache the same results twice
        var previousContent;

        if( response.containsResults )
        {
            var results = response.results;

            //Remove previous markers
            Map.clearMarkers();

            // Add Markers on the map
            Map.setMarkerPosition( position.coords.latitude, position.coords.longitude, "grey" );
            for ( var i=0; i<results.length; i++ )
            {
                Map.setMarkerPosition( results[i].lat, results[i].lng, "green");
                results[i]["index"] = i;
            }

            setItem("events", JSON.stringify( results ), 1);

            var template = Handlebars.compile( $( '#eventListTemplate' ).html() );
            $("#list-container").kendoMobileListView({
                template : template,
                dataSource: kendo.data.DataSource.create(results),
                fixedHeaders: false,
                pullToRefresh: true,
                pullParameters: function(item) {
                    console.log("pull");
                    //Here, another AJAX call to get the new results
                    $.when( Event.getEventsNearby( position.coords.latitude, position.coords.longitude, radius, limit, offset, key ) ).done( function( response )
                    {
                        console.log("when");
                        //I can see I'm getting my results properly here.
                        console.log(response.results);
                        //Doesn't work ...
                        return response.results;
                    });
                }
            });

            $( document ).trigger( "wallReady" );

            //Retrieve the different user conversations:
            updateListOfChats();
        }
    } );
};
函数句柄\u地理位置\u查询(位置)
{
$.when(Event.geteventsnarby(position.coords.latitude,position.coords.longitude,radius,limit,offset,key)).done(函数(响应)
{
var datatobecache=新数组();
//为了避免缓存相同的结果两次
var先前的内容;
如果(response.containsResults)
{
var结果=响应结果;
//删除以前的标记
Map.clearMarkers();
//在地图上添加标记
Map.setMarkerPosition(position.coords.lation,position.coords.longitude,“灰色”);

对于(var i=0;ipull parameters函数应该返回将在下一个请求中传递的参数,该请求由数据源组件本身执行。有关更多详细信息和工作示例,请参阅。

感谢Petyo,我一直在尝试使用它,但我认为我遗漏了一些内容。我确实有一个retur在我的pullparameters中的n函数(它在when中,但不确定这是否正确)。在我的测试中,我在
返回response.results;
中返回的内容与我传递给
数据源的内容完全相同:kendo.data.dataSource.create(results),
。但它仍然不起作用。请您告诉我这一点好吗?