0

私はbackbone.jsにかなり慣れていません。私は次の設定をしています

Scripts
|--App
|   |--collecions
|   |    |----students.js
|   |--model
|   |    |---student.js
|   |--views
|   |    |---Header-View.js
|   |    |---Stud-List-View.js
|   |    |---Stud-Item-List-View.js
|   |    |---StudView.js
|   |--app.js
|--Templates
|   |-----Header.htm
|   |-----StudTable.htm
|   |-----student.htm
|--main.js

StudTable.htmlは次のようになります-----

<table class="table table-condensed table-bordered">
<caption>Student Details </caption>
<thead>
    <tr>
        <th>
            First Name
        </th>
        <th>
            Last Name
        </th>
        <th>
            Age
        </th>
    </tr>
</thead>
<tbody>
    <tr>
        <td>
            {{firstname}}
        </td>
        <td>
            {{lastname}}
        </td>
        <td>
            {{age}}
        </td>
    </tr>
</tbody>

ここからコレクションを送信するにはどうすればよいですか

function ($, _, Backbone, Student, StudList, HeaderView, StudView, ListView, CloneView) {
 var AppView = Backbone.Router.extend({
     routes: {
         "": "list",
         "students/clone": "clone",            
     },

     initialize: function () {
         var view = new HeaderView();
         return this;
     },
     clone: function () {
         var studs = new StudList();
         studs.fetch({
             success: function () {
                 $("#content").html(new CloneView({ collection: studs }).el);
             }
         });
     },

 });    

 return AppView;
});

HTMLテンプレートの形式に触れることなく、jQueryのクローン作成を使用して、テーブルにコレクションを表示するにはどうすればよいですか?コレクション内の各要素のテーブルにクローンを作成する方法はありますか?

この質問のような2つのビューのようなものは使いたくない

アンダースコアテンプレートエンジンを使用してHTMLテーブルをレンダリングする

彼らは2つのビューを使用しました。1つはtbody用で、もう1つはtrをtbodyに追加するためのものです。上記のテンプレートを使用して、単一のビューでそれを実行したいと思います。それは可能ですか?

4

1 に答える 1

0

コメントに基づいて、2つのビューと2つのテンプレートを使用する必要があります。元の投稿の「クローン作成」メカニズムにはまったく利点がありません。これはバックボーンの方法ではありません。

メインのアプリビューはメインページのHTMLをレンダリングし、個々の<tr>ビューはデータベース/データモデルのレコードを表します。したがって、メインのアプリビューをレンダリングしてから、JSON応答をループして、各<tr>ビューを個別にレンダリングします。

そこから、行を簡単に追加、削除、および並べ替えることができます。各ビューはモデルインスタンスに直接関連付けられるため、2つは非常に簡単に相互に「対話」できます(イェーイバックワン!)。

このサイトは、私が最初に始めたときにバックボーンアプリケーションを整理するための最良の方法を学ぶのに役立ちました:http: //ricostacruz.com/backbone-patterns/#sub_views

于 2012-08-29T14:26:56.750 に答える