所以,第一个问题我找不到答案.可能有足够的理由问我自己的第一个问题.如果答案可以在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中的这些全局变量?
解决方法
您当前声明变量的方式,它们在函数初始化范围内,而不是对象MyModel范围.要将变量定义为模型变量(可由所有对象函数访问),请执行以下操作:
var MyModel = Backbone.Model.extend({
myGlobalVar: null,myOtherGlobalVar: null,initialize:function(){
console.log(this.myGlobalVar)
},...