我正在尝试使用 JQuery Mobile 和 EmberJS 构建一个小型移动应用程序。这实际上是一个 Rhodes 应用程序 (Rhomobile)。
这是我的 Layout.erb:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Todo</title>
<!-- Ember Libraries -->
<script src="/public/js/libs/handlebars-1.0.0.js"></script>
<script src="/public/js/libs/ember.js"></script>
<script src="/public/js/libs/ember-data.js"></script>
<!-- Ember Application -->
<script src="/public/js/application.js"></script>
<script src="/public/js/router.js"></script>
<script src="/public/js/models/todo.js"></script>
<script src="/public/js/controllers/todos_controller.js"></script>
<script type="text/javascript">
$(document).bind("mobileinit", function(){
$.mobile.loadingMessage = false;
$.mobile.loadingMessageDelay = 300; // in ms
$.mobile.defaultPageTransition = 'none';
$.mobile.defaultDialogTransition = 'none';
$.mobile.ajaxEnabled = false;
$.mobile.pushStateEnabled = false;
$.mobile.loadingMessageDelay = 50; // in ms
});
</script>
<link rel="stylesheet" href="/public/jqmobile/jquery.mobile-1.3.1.min.css">
<link rel="stylesheet" href="/public/css/jqmobile-patch.css">
<script src="/public/jqmobile/jquery.mobile-1.3.1.min.js"></script>
<script src="/public/js/jqmobile-patch.js"></script>
</head>
<body data-platform="<%= Rho::System.getProperty('platform') %>">
<%= @content %>
</body>
</html>
如您所见,我已禁用 Ajax 和 PushState 等。这是我的 index.erb:
<script type="text/x-handlebars" data-template-name="todos">
<div data-role="page">
//My Template
</div>
</script>
现在当我尝试它时,我只是得到一个空白的灰色页面。但控制台或 Ember-Console(Chrome 的扩展)中没有错误。它甚至可以正确检测到我的视图和控制器。
然后我尝试评论 JqueryMobile CSS 文件,我得到的是一个页面的高度,带有“正在加载”消息的空白空间,然后我在下面看到我的应用程序,它工作正常。如果我删除 JqueryMobile JS,我会得到这些东西,但它没有样式。
问题是什么?