我能够在浏览器上实时显示来自RabbitMQ SockJS服务器的推送消息,只要有新消息出现,就可以使用JQuery追加。然而,我无法弄清楚如何在Kendo移动ListView (KendoVersion2013.1119)上按降序显示消息--顶部是更新的消息。这应该在没有用户介入刷新ListView的情况下完成。
我创建了一个测试并在JSBin - 链接上发布了
关于JSBin示例的说明:
1)。Stomp.js (踩过websocket)和sockjs.js (SockJS Javascript客户端)用于创建从RabbitMQ SockJS Server捕获消息的websocket客户端。
对于JSBin示例,我将我的Javascript代码附加到SockJS Javascript客户机(sockjs.js)中,因为无法让JSBin在单独的文件中使用listener-app.js。合并的脚本现在是app.js。请注意,我在本地测试时没有这个问题。
2)。有两个导航按钮,“实时ListView”和“调试日志”。调试日志捕获stomp.js调试消息,这些消息将使用JQuery追加显示在“调试日志”视图上。实时ListView视图应该在列表视图中显示STOMP消息,而我无法这样做。
3)。虽然JSBin示例没有链接到活动的SockJS服务器,但是STOMP库仍然会生成一些可以被Kendo捕获的错误消息。
我是JS和Kendo UI的初学者。如果我漏掉了什么,请告诉我。任何指针都将非常感谢。谢谢。
发布于 2014-01-11 11:29:49
我可以使用预置/追加法在列表视图的顶部插入新消息。
例如:
$("#datalistlistView").data("kendoMobileListView").prepend([{message: 'test'}]);此代码可以插入到从html页面链接的任何JS文件中。
关键的要求是,代码必须在列表视图初始化后才能运行,否则将出现"Uncaught :无法调用方法'prepend‘of null’“错误。
https://stackoverflow.com/questions/20986135
复制相似问题