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 回答