Backbone.js Dyanamic模型

问题描述:

我将使用Backbone.js创建一个Web应用程序。Backbone.js Dyanamic模型

我有一个Web服务,它会告诉我需要我的模型的哪些字段,所以考虑到这一点,我无法创建一个静态模型,以便为我的应用程序创建一个动态模型,当我的web JSON服务,我将如何去做这件事?

我需要使用model.urlRoot()吗?

如果您想为模型设置自定义网址,则应使用urlRoot。欲了解更多信息,请阅读urlRoot backbone docs

你会调用相同的URL,给你想要的字段作为参数吗?如果你这样做,所以你不一定需要更改urlRoot或其他任何东西。

如果你这样做:

var MyModel = Backbone.Model.extend({}); 

这将是动态的了。它将拥有来自您返回的JSON的所有属性,并且每次更改都无关紧要。

但是,如果你愿意,你可以改变urlRoot。

var MyModel = Backbone.Model.extend({urlRoot : '/books'}); 

你甚至可以把它定义为一个函数,将返回不同的URL取决于你有一定的条件,如:

var MyModel = Backbone.Model.extend({ 
    urlRoot : function() { 
     return '/books/' + this.get("anyField"); 
    } 
});