我正在准备一个非常基本的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 and backbone
但是,我对新生成的内容和样式存在很多问题:对于具有多个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();
});
但是,样式应用得很晚(在页面渲染之后,如500ms之后)。
有更好的解决方案吗?
答案 0 :(得分:1)
好吧,我选择删除jQuery Mobile,然后自己设置我的组件样式。
我喜欢jQuery Mobile,之前我曾在几个应用程序中使用它,但更有可能的决定是因为使用jQuery Mobile时应用程序感觉太重了,我只需要10%的jQuery Mobile。