0

我正在使用 jquery mobile、backbone 和 require.js 构建一个移动 Web 应用程序以使其模块化。我有一个有这个的html页面;

<html>
 <head>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta http-equiv="Content-type" content="text/html; charset=utf-8">
  <title>DoIt</title>
  <link href="jqm/jquery.mobile-1.2.0.css" rel="stylesheet">

  <script  charset="utf-8" src="jqm/jquery-1.7.2.min.js"></script>
  <script  charset="utf-8" src="jqm/jquery.mobile-1.2.0.min.js"></script>
  <script  charset="utf-8" src="libs/require.js" data-main="app"></script>

</head>

我的 app.js 文件看起来像这样

//Require.js configuration
require.config({
    paths: {
        'underscore': 'libs/underscore-min',
        'backbone': 'libs/backbone-min',
        'text': 'libs/text'
    },
    shim: {
        'backbone': {
            deps: ['underscore'],
            exports: 'Backbone'
        }
    }
});

require(['backbone', 'views/main'], function (Backbone, AppView) {
    'use strict';
     var view = new AppView();

     $(document).bind('pagecreate', function () {
        view.render(); 
     });
});

这是视图的模板

 <script type="text/html" id="app-view-tmpl">
    <div id="task-creator">
        <input type="text" id="task" placeholder="Enter a task">
        <button data-role="button" data-theme="b">
            Create task
        </button>
    </div>
      </script>

我使用“pagecreate”事件来触发视图的呈现。视图不会呈现,但会记录我设置为在视图初始化时记录到控制台的其他详细信息。做错什么了吗?

4

1 回答 1

0

我对backbone.js 知之甚少,但是您是否在构建小部件后“刷新”了它们?

http://jquerymobile.com/demos/1.2.0/docs/lists/lists-methods.html

$("#myListView").listview("refresh");

或者

$("#myButton").button("refresh");

这应该是您pagecreate逻辑的一部分。获取有关模板的其他详细信息会很有帮助。

于 2013-01-11T18:06:15.997 回答