2

(比較的単純な) node.js webapp のコンテキストで、jade テンプレート システムと backbone.js を学習しようとしています。フレームワークとしてexpress.jsを使用しています。とにかく、backbone.js は非常に興味深く強力に見えますが、クライアントをクライアント側でレンダリングしたくありません。

ノードとジェイドを使用してサーバー側をレンダリングし、レンダリングされたページをクライアントに送信し、バックボーンを使用してライブ コンテンツを変更するだけです。これについて最善の方法は何ですか?言い換えれば、すでにレンダリングされ構造化されたページでバックボーンを使用する最良の方法は何ですか? バックボーンを最大限に活用していないことはわかっていますが、多くの jQuery セレクターやイベント ハンドラーではなく、バックボーンを使用しようとしているだけです。

4

1 に答える 1

7

バックボーン ビューはel、ビューをインスタンス化するときのように要素への参照を渡すことで、既存の DOM 要素を参照できます。

var myViewInstance = new MyViewClass({el: $('#existingDOMElement')});

ビュー クラスで宣言したすべてのイベント ハンドラーは、イベント セレクターに一致するすべての子要素にバインドされます。元:

<html>
    <body>
        <div id='myView'>
            <a class='foo'>Foo</a>
        </div>

        <script>
            var MyViewClass = Backbone.View.extend({
                events: {
                    'click .foo': 'fooClicked'
                },
                fooClicked: function(e) {
                    e.preventDefault();
                    console.log('.foo clicked');
                }
            });

            new MyViewClass({el: $('#myView')});
        </script>

    </body>
</html>
于 2012-05-10T04:40:57.797 に答える