相关疑难解决方法(0)

backbone.js模型指向嵌套模型的同一实例

使用backbone.js,这是一个快速测试,以演示我面对嵌套模型的问题.

前言 我有一个Obj模型,它包含2个嵌套模型,Obj1和Obj2.Obj模型本身有一个View(ObjView),主页面本身有一个View(BodyView).

主页面有一个按钮,id = add.每次单击该按钮时,都会向ObjCollection添加一个新的Obj,并且ObjView会向该页面添加一个按钮(id = clickMe).clickMe按钮绑定到一个testFunc,即console.logs this.model和this.model.get("obj1").

问题 从检查console.logs,我看到虽然每个Obj都是一个新实例,但它们的嵌套Obj1指向obj1的同一个实例!但Obj的每个实例显然应该有自己的嵌套模型obj1和obj2的实例.

任何帮助赞赏.

$(document).ready(function(){

    var Obj1 = Backbone.Model.extend({
        defaults:{
            Attr1A   : false,
            Attr1B   : false
        }
    })

    var Obj2 = Backbone.Model.extend({
        defaults:{
            Attr2A   : false,
            Attr2B   : false
        }
    })

    var Obj = Backbone.Model.extend({
        defaults: {
            obj1    : new Obj1(),
            obj2    : new Obj2()
        }
    })

    var ObjCollection = Backbone.Collection.extend({
        model: Obj
    });


    var ObjView = Backbone.View.extend({

        initialize: function(){
            _.bindAll(this, 'render', 'testFunc');
            this.model.bind('change', this.render);
            this.model.view = this;

            $("body").append(this.render().el);
        }, …
Run Code Online (Sandbox Code Playgroud)

javascript model-view-controller backbone.js

7
推荐指数
1
解决办法
2465
查看次数