我将使用 Backbone.js 创建一个 Web 应用程序。
我有一个 Web 服务,它将通知我需要我的模型具有哪些字段,因此考虑到这一点,我无法创建静态模型,以便为我的应用程序创建一个动态模型,该模型会在我的 Web 服务 JSON 执行时发生更改,我该怎么做呢?
我需要使用 model.urlRoot() 吗?
我将使用 Backbone.js 创建一个 Web 应用程序。
我有一个 Web 服务,它将通知我需要我的模型具有哪些字段,因此考虑到这一点,我无法创建静态模型,以便为我的应用程序创建一个动态模型,该模型会在我的 Web 服务 JSON 执行时发生更改,我该怎么做呢?
我需要使用 model.urlRoot() 吗?
如果要为模型设置自定义 url,则应使用urlRoot 。欲了解更多信息,请阅读urlRoot 主干文档。
你会调用相同的 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");
}
});