Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在子类主干中设置默认值_Javascript_Inheritance_Backbone.js_Underscore.js - Fatal编程技术网

Javascript 在子类主干中设置默认值

Javascript 在子类主干中设置默认值,javascript,inheritance,backbone.js,underscore.js,Javascript,Inheritance,Backbone.js,Underscore.js,我有一个超类 var mySuperClass = Backbone.Model.extend({ defaults: { ... } }); var mySubClass = mySuperClass.extend({ defaults: _.extend(mySuperClass.prototype.defaults, { childDefault1: .. } }) 它工作得很好,它覆盖了我需要覆盖的每个值,但是,如果我使用选项创建一个

我有一个超类

var mySuperClass = Backbone.Model.extend({
     defaults: { ... }
});

var mySubClass = mySuperClass.extend({
     defaults: _.extend(mySuperClass.prototype.defaults, { 
         childDefault1: ..
     }
})
它工作得很好,它覆盖了我需要覆盖的每个值,但是,如果我使用
选项创建一个
新的mySubClass
,比如:
新的mySubClass({someDefault:value})
则不会设置
someDefault
属性。 有什么想法吗

使用默认值

var SuperBook = Backbone.Model.extend({
    defaults: {
        author: "test",
        pages: 525
    }
});

var MiniBook = SuperBook.extend({
    defaults: {
        description: "mini book"            
    }
});

_.defaults(MiniBook.prototype.defaults, SuperBook.prototype.defaults); 


var myModel = new MiniBook({ author: 'default author', description : 'default description' })
谢谢