0

为什么不使用backbone.js 渲染到我的html 页面

这是我的脚本

<script type="text/javascript"  src="/jquery-1.7.2.min.js"></script>
<script type="text/javascript"  src="/json2.js"></script>
<script type="text/javascript"  src="/underscore.js"></script>
<script type="text/javascript"  src="/backbone.min.js"></script>

<script>
    (function ($) {

        var ListView = Backbone.View.extend({
            el: $('body'), // el attaches to existing element
            events: {
                'click button#add': 'addItem'
            },
            initialize: function () {
                _.bindAll(this, 'render', 'addItem'); // every function that uses 'this' as the current object should be in here

                this.counter = 0; // total number of items added thus far
                this.render();
            },
            render: function () {
                $(this.el).append("<button id='add'>Add list item</button>");
                $(this.el).append("<ul></ul>");
            },
            addItem: function () {
                this.counter++;
                $('ul', this.el).append("<li>hello world" + this.counter + "</li>");
            }
        });

        var listView = new ListView();

    })(jQuery);
</script>
4

3 回答 3

1

请更换

<script type="text/javascript"  src="/Sunderscore.js"></script>

到:

<script type="text/javascript"  src="/underscore.js"></script>

如果这不起作用,请检查 javascript 库是否与此 HTML 位于同一目录中。

于 2013-02-21T08:48:32.477 回答
0

你似乎有一个错字

<script type="text/javascript"  src="/Sunderscore.js"></script>

你不是说

<script type="text/javascript"  src="/underscore.js"></script>

? (underscore.js 代替 Sunderscore.js)

于 2013-02-21T08:53:07.663 回答
0

假设您的下划线声明脚本在您正在测试的项目中是正确的,我会说您的 el 声明错误:

el: 'body',

然后你访问它(假设你使用 jQuery 使用 $el 而不是 el.

于 2013-02-21T08:53:25.863 回答