0
  • コードを再度編集すると、次の 2 つのエラーが発生しました。

1) Complex_collection が定義されていない

  model: Complex_model

2) Complex_model が定義されていない

 model: Complex_model

バックボーン js を使用しています。以下は私のコードです。backbone.js を使用してこれを実行しましたが、コードが実行されていません。バックボーン js を使用してモデル、ビュー、コントローラーを分離したい

//モデル

(function(){ var Complex_model = Backbone.Model.extend({        
    sync:function() {},
    validate:function() {},
    url:function() {},          
    defaults :{
        name : null
    }    
});})(this);

//見る

(function(){

FriendView = Backbone.View.extend({
    events :{
        'click #add-input' : 'add'
    },
    initialize: function(){
        this.collection = new Complex_collection(); // This is collection
        _.bindAll(this, 'render');
    },      
    add : function() {
        alert("hello");
        var friend_name = $('#input').val();
        this.collection.add({ name : friend_name });
    },
    render : function(){
        $("#friends-list").append("<li>"+ model.get("name")+"</li>");
    },      
});

var view = new FriendView(); })(this);

//コレクション

(function(){    

    var Complex_collection = Backbone.Collection.extend({

    model: Complex_model

});})(this);

ありがとうございました

4

1 に答える 1

0

初期化コードで同じオブジェクトの新しいインスタンスを作成しないでください。コードは次のようになります。

(function(){ 
    this.complex_model = Backbone.Model.extend({        
        sync:function() {},
        validate:function() {},
        url:function() {},      
    });
})(this);

// View

(function(){
    var vw = view = function(){};
    FriendView = Backbone.View.extend({
        events :{
            'click #add-input' : 'add'
        },
        initialize: function(){
            this.friendslist = new FriendList(); // This is your collection right?
            _.bindAll(this, 'render');
        },      
        add : function() {
            var friend_name = $('#input').val();
            this.friendslist.add({ name : friend_name });
        },
        render : function(){
            $("#friends-list").append("<li>"+ model.get("name")+"</li>");
        },      
    });
})(this);

// Collection
(function(){    this.complex_collection = Backbone.Collection.extend({
    model : complex_model
});})(this);

// Your main app
var view = new FriendView();
于 2012-05-09T06:23:19.263 に答える