javascript - 如何将 Backbone 模型与 jQuery 相关的范围一起使用

标签 javascript jquery backbone.js model scope

我有一个 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 服务响应并将其用作另一种方法的请求?

最佳答案

只需在同一范围内定义函数即可:

$(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
    }
});

如果你不能这样做,例如,如果你的代码被分成不同的文件或其他文件,那么最简单的解决方案是使用 namespace - 例如 MyApp.Models.Test = Backbone.Model.extend( {})。在这种情况下,MyApp 将是全局可用的(在首先加载的文件中的 $(document).ready() 外部声明)

或者使用模块模式,RequireJS 是 Backbone.js 应用程序中非常常见的模块加载器。

关于javascript - 如何将 Backbone 模型与 jQuery 相关的范围一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42934768/

相关文章:

javascript - 将数据 ID 传递到引导模式时出现问题

javascript - 如何在不在 dojo.ready 中声明它的代码的情况下编写我的小部件

javascript - 动画边框颜色

javascript - Backbone JS View 渲染不显示

ajax - 恢复删除方法

javascript - 心率监测器

javascript - "selecting all"复选框切换的 onClick 按钮功能

javascript - 了解插件销毁函数

jQuery AJAX 到 Perl JSON 模块数据解码

javascript - Backbone 僵尸观点和良好实践