EmberJS和Jquery Mobile给出了空白的灰色页面

时间:2013-09-24 10:30:38

标签: jquery-mobile ember.js

我正在尝试使用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,我得到的东西,但它没有样式。

有什么问题?

1 个答案:

答案 0 :(得分:0)

如果没有看到更多应用程序代码,很难说。如果您只定义了一个模板('todos'),则可能是Ember不知道如何启动应用程序渲染的情况。您可能需要定义'application'模板。它可能很简单:

<script type="text/x-handlebars" data-template-name="application">
  {{outlet}}
</script>