如何使用Backbone.Paginator.js运行多个实例?

我正在尝试使用Backbone.Paginator.js在同一页面上运行多个应用程序(paginator的多个实例)。

我创build了一个testing页面。 (导航到backbone.paginator/examples/netflix-infinite-paging )。

我离开了app.js的代码,并创build了app2.js ,这是app.js一个克隆,但是所有的javascript代码都位于一个文件中,并且应用程序已经被重命名为app2。

两个实例工作在页面的第一次加载,但随后的请求/刷新只加载app2.js的数据。

是否有可能在同一页面上运行多个实例?

  • 我有兴趣使用自动分页(无限/无限滚动),所以我试图使用保罗爱尔兰的jQuery Infinite Scroll plugin但我无法得到它的工作。
  • 我正在启动插件以在文档就绪(这不起作用,如预期的那样)上运行,但是也在app2的ResultView中运行代码,这不起作用。

任何想法如何获得自动分页无限滚动解决scheme?

  • 我跑到https://github.com/joneath/infiniScroll.js,但我不知道如何将其与Backbone.Paginator.js集成。
  • 我仍然在学习,任何帮助将不胜感激! 🙂

更新:经过不同浏览器的进一步testing,似乎问题可能是caching问题/差异。 例如,在Safari中,刷新页面时有时(随机)有效。 我不知道如何debugging。 有任何想法吗?

问题:1-您是否在代码库中包含jQuery Javascript框架依赖关系? 2 – 我已经下载了zip文件,在Xammp本地运行它,它似乎是一个下载的演示而不是testing页面,请问您能确认哪个页面是您的testing页面从压缩文件附加到您的问题? 3-你可以在jsfiddle中创build一个模型(如果有一些服务器端代码发生的话)? 4-为无限滚动jquery插件提供的链接被打破,它应该是: https : //github.com/joneath/infiniScroll.js

如果你想让jQuery paginator插件独立,你也可以考虑容器元素来触发它

….

从build议的链接,我认为我们应该试试这个。 否则,您可能需要为浏览器创build一个cookie或其他内容来记住多个实例上插件的更改。以下是一些想法?

1#

  Backbone.InfiniScroll(collection, **options**) 

在您的Backbone视图被渲染后,实例化一个新的InfiniScroll对象。

 myView = Backbone.View.extend({ initialize: function(){ _.bindAll(this, "render"); this.render(); this.infiniScroll = new Backbone.InfiniScroll(this.collection, {success: this.appendRender}); 

})};

2#从“选项”菜单中一目了然

  target: $(window), 

也许我们应该试试:

  $(body).find('#container1'), 

-要么-

  $(window).children('div').hasClass('container'), 

只是一些想法,没有自己尝试过 –

3#你可能想让(1)成为一个javacript函数,并根据类或者它的id来触发它,以便初始化滚动到所需的容器上。

所有这些想法都可以通过快速的看出来,但如果有帮助,或者至less给出了一些方向,可以随时回复。

4#另一个想法是,myView可以是一个JavaScript中的时间戳ID的variables,这样,你可以确保唯一性,因为你正在调用新的,那么你可以有多个插件的实例运行您的视图。