所以,第一个问题我找不到答案。可能有足够的理由问我自己的第一个问题。如果可以在 backbone.js 的范围之外找到答案,我们深表歉意。
在 backbone.js 应用程序中,我需要访问不同函数中的多个变量,因此我必须使用一些全局变量设置。
我想知道我当前的解决方案是否可以接受/良好实践。我的 IDE (IDEA) 似乎认为它不是:
var MyModel = Backbone.Model.extend({
initialize:function(){
var myGlobalVar, myOtherGlobalVar;//marked as unused local variable
},
myFunction:function() {
myGlobalVar = value;//marked as implicitly declared
model.set({"mrJson": {"email": myGlobalVar}});
model.save();
});
}
},
myOtherFunction:function() {
myOtherGlobalVar = otherValue;//marked as implicitly declared
model.set({"mrJson": {"email": myGlobalVar, "other": myOtherGlobalVar}});
model.save();
});
}
}
}
我尝试声明隐式声明的全局变量,但这导致它们无法从其他函数访问。
在 backbone.js 中是否有适当的方法来处理这些全局变量?
最佳答案
您当前声明变量的方式是在函数 initialize 范围内,而不是对象 MyModel 范围内。要将变量定义为模型变量(所有对象函数均可访问),请执行以下操作:
var MyModel = Backbone.Model.extend({
myGlobalVar: null,
myOtherGlobalVar: null,
initialize:function(){
console.log(this.myGlobalVar)
},
...
关于javascript - 在 backbone.js 中使用全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9411896/