我有一个jQuery项目,我希望在模型变量中维护表单数据。我当前的UI代码就像这样
$(document).ready(function(){
$("#errMsg").hide();
var Test = Backbone.Model.extend({
defauts: {
id: null,
test: null,
test1: null,
test2: null,
comments: null
}
});
var uniquename = new Test({ id: null});
});
function test(){
//Trying to access uniquename here or Test model
}
当我尝试从外部方法访问Test或uniquename时,它们无法访问。我所做的所有其他事情都是在简单的Javascript方法中。我知道这不是正确的做法,所以我寻求一些帮助。如何构建我的方法以及如何使我的变量可以通过不同的方法访问,以便我可以从一个方法读取Web服务响应并将其用作另一个方法的请求?
答案 0 :(得分:1)
只需在同一范围内定义函数:
$(document).ready(function(){
$("#errMsg").hide();
var Test = Backbone.Model.extend({
defauts: {
id: null,
test: null,
test1: null,
test2: null,
comments: null
}
});
var uniquename = new Test({ id: null});
function test(){
//access uniquename here or Test model
}
});
如果你不能这样做,例如,如果你的代码被分成不同的文件或其他东西,那么最简单的解决方案就是使用名称空间 - 比如MyApp.Models.Test = Backbone.Model.extend({})
。在这种情况下,MyApp
将全局可用(在首先加载的文件中在$(document).ready()
之外声明)
或使用模块模式,RequireJS是Backbone.js应用程序中非常常见的模块加载器。