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 に答える