1

我正在准备一个非常基本的 Backbone 应用程序,使用 jQuery Mobile 作为 UI 和 Backbone(使用 RequireJS)作为其余部分。

我使用以下项目作为基础: https ://github.com/fiznool/mobile-backbone-boilerplate

并使用 Christophe Coenraets 指南来使用 jQuery Mobile 和 Backbone: http ://coenraets.org/blog/2012/03/using-backbone-js-with-jquery-mobile/

并找到了一些很好的信息,例如在这里: jquery mobile require.js 和主干

但是,我在新生成的内容和样式方面遇到了很多问题:更多的是具有多个 uri 段的页面(例如:/movie/1)。

我更改视图的方法如下所示:

var changeView = function(newView) {
  newView.render();
  newView.$el.addClass("ui-page").attr('data-role', 'page');

  $(container).append(newView.$el);

  $.mobile.changePage(newView.$el, {changeHash:false});
};

页面实际上发生了变化,但看起来没有任何样式。我通过在 jquery.mobiile.config.js 文件中使用以下代码找到了解决方案:

$(document).bind('pagechange', function(e) {
    $('.ui-page-active .ui-listview').listview('refresh');
    $('.ui-page-active').page("destroy").page();
});

但是,样式应用得很晚(在呈现页面之后,比如 500 毫秒之后)。

有没有更好的解决方案?

4

1 回答 1

1

好吧,我选择删除 jQuery Mobile 并自己设计我的组件。

我喜欢 jQuery Mobile,我之前在几个应用程序中使用过它,但这个决定更有可能是因为使用 jQuery Mobile 时应用程序感觉太重了,我只需要 10% 的 jQuery Mobile。

于 2012-09-23T20:07:45.733 回答