【问题标题】:Error saving backbone model: Uncaught Error: A "url" property or function must be specified保存主干模型时出错:未捕获错误:必须指定“url”属性或函数
【发布时间】:2013-04-07 09:13:38
【问题描述】:

我是主干新手,我想弄清楚为什么在应用程序中简单地“保存”模型不起作用。我有一个要保存的登录窗口模型。模型初始化如下:

window.myapp.login = new window.myapp.Models.Login();
window.myapp.signinBox = new window.myapp.Views.Signin({model: window.myapp.login});
window.myapp.signinBox.render();

现在我在 signinBox 中监听各种事件,并调用 this.model.get 和 this.model.set - 一切正常。 但是,当我尝试打电话时

this.model.save();

我得到:未捕获的错误:必须指定“url”属性或函数

模型类看起来像:

window.myapp.Models.Login = Backbone.Model.extend({
    defaults:{
        modelType:'login',
        urlRoot:'/rest/login',
        password: "",
        rememberMe: false,
        isAuthenticated: false
    }
})

知道我这里有什么问题吗?

我注意到的一件事(正如我所说的我是新手,这可能是微不足道的)是我在 this.model 下看不到 urlRoot,而是在 this.model.attributes 下看到。应该是这样吗?

【问题讨论】:

    标签: backbone.js


    【解决方案1】:

    默认哈希(或函数)用于指定模型属性的默认属性。但urlRoot 是Backbone.Model 的单独属性,需要设置根级别:

    window.myapp.Models.Login = Backbone.Model.extend({
        urlRoot: '/rest/login',
        defaults:{
            modelType:'login',       
            password: "",
            rememberMe: false,
            isAuthenticated: false
        }
    })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多