我正在尝试使用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,我得到的东西,但它没有样式。
有什么问题?
答案 0 :(得分:0)
如果没有看到更多应用程序代码,很难说。如果您只定义了一个模板('todos'
),则可能是Ember不知道如何启动应用程序渲染的情况。您可能需要定义'application'
模板。它可能很简单:
<script type="text/x-handlebars" data-template-name="application">
{{outlet}}
</script>