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;