2013-07-16 115 views
1

我將使用Backbone.js創建一個Web應用程序。Backbone.js Dyanamic模型

我有一個Web服務,它會告訴我需要我的模型的哪些字段,所以考慮到這一點,我無法創建一個靜態模型,以便爲我的應用程序創建一個動態模型,當我的web JSON服務,我將如何去做這件事?

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

回答

0

你會調用相同的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"); 
    } 
});