Javascript 如何使用Kendo UI PullParameters函数和Pull刷新?
我正在尝试让我的ListView使用Pull刷新。尽管如此,我还是无法使用listview refresehd 基本上,当用户触发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
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),
。但它仍然不起作用。请您告诉我这一点好吗?