Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/132.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_Backbone.js - Fatal编程技术网

Javascript 嵌套属性中父对象的访问属性

Javascript 嵌套属性中父对象的访问属性,javascript,backbone.js,Javascript,Backbone.js,我有这个: var SomeNamespace = { Model: Backbone.Model.extend(), View: Backbone.View.extend({ model: new this.Model, //<-- how do I properly create a new object from parent to here? myMethod: function() { al

我有这个:

var SomeNamespace = {
    Model: Backbone.Model.extend(),
    View: Backbone.View.extend({
        model: new this.Model, //<-- how do I properly create a new object from parent to here?
        myMethod: function()
        {
             alert(this.model.MyName);   
        }
    })

}
var SomeNamespace={
模型:主干.Model.extend(),
视图:Backbone.View.extend({

model:new this.model,//'this',在您的案例中是指Backbone.View.extend。我相信,您需要执行以下操作:

model: new SomeNamespace.Model
var SomeNamespace={
模型:主干.Model.extend(),
视图:Backbone.View.extend({

模型:null,//取自Backbone.js的扩展文档(http://documentcloud.github.com/backbone/#Model-扩展):

super简介:JavaScript不提供调用super的简单方法,super是原型链上较高位置定义的同名函数。如果覆盖核心函数,如set或save,并且希望调用父对象的实现,则必须显式调用它,如下所示:

这行吗

Backbone.Model.prototype.model.MyName;

然后它会说,
Model
没有定义。因为这个东西还没有定义,与其他语言不同,你不能在JS中这样做。你需要在类的构造函数中定义它。B.t.w,巧合的是,这是我在过去24小时内第三次或第四次看到这个问题。
var Note = Backbone.Model.extend({
  set: function(attributes, options) {
    Backbone.Model.prototype.set.call(this, attributes, options);
    ...
  }
});
Backbone.Model.prototype.model.MyName;