簡體   English   中英

主干.js為什么未定義

[英]backbone.js why is el undefined

為什么我會得到錯誤的el定義不足-謝謝

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script src="http://ajax.cdnjs.com/ajax/libs/json2/20110223/json2.js"></script>
<script src="http://ajax.cdnjs.com/ajax/libs/underscore.js/1.1.6/underscore-min.js"></script>
<script src="http://ajax.cdnjs.com/ajax/libs/backbone.js/0.3.3/backbone-min.js"></script>

<script type ="text/javascript">
    var SimpleView = Backbone.View.extend({
        tagName: 'li',
        id: 'todo-id',
        className: 'todo-class',
        render: function() {
            var htmls = '<h3>jhjljlkjkljkljkljkljkjkjj</h3>';
            //this.$el.html(htmls);
            $(this.el).html(htmls);
        }



    });
    var simpleView = new SimpleView();
    simpleView.render();
    //console.log(simpleView.el);



    </script>

您需要定義什么是el

   var SimpleView = Backbone.View.extend({
        el: $("YourElement"),
        tagName: 'li',
        id: 'todo-id',
        className: 'todo-class',
        render: function() {
            var htmls = '<h3>jhjljlkjkljkljkljkljkjkjj</h3>';
            //this.$el.html(htmls);
            $(this.el).html(htmls);
        }
    });

編輯

看來我可能是錯的:

如果指定。 如果不是,則el為空div。 (來自http://backbonejs.org/#View-el

您的代碼有效。

http://jsfiddle.net/GYGF7/

var SimpleView = Backbone.View.extend({
    tagName: 'li',
    id: 'todo-id',
    className: 'todo-class',
    render: function() {
        var htmls = '<h3>jhjljlkjkljkljkljkljkjkjj</h3>';
        //this.$el.html(htmls);
        $(this.el).html(htmls);
    }



});
var simpleView = new SimpleView();
simpleView.render();
console.log(simpleView.el);

您的問題是,您指向的是舊版本的主干(0.3.3)。

更新您的依賴項鏈接以加載最新版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM