2012-02-03 39 views
4

讓我們有以下代碼:如何爲所有BackboneJS模型/集合REST調用添加基本URL?

(function($) { 
    TeacherModel = Backbone.Model.extend({ 
     defaults : { 
      uid : -1, 
      name : "" 
     } 
    }); 

    TeachersCollection = Backbone.Collection.extend({ 
     model : TeacherModel, 
     url : function() { 
      return "/path/to/api" + "/teacher"; 
     } 
    }); 
}()); 

我想有"/path/to/api"作爲全局設置骨幹網(我知道我可以window出口到全球,但我想在骨幹某處設置)

有沒有辦法,最好的做法是什麼?

回答

5

我通常解決這個問題的方法是創建一個基本的收集和繼承它,就像這樣:

BaseCollection = BackBone.Collection.extend({ 
    path: '/path/to/api' 
}); 

TeachersCollection = BaseCollection.extend({ 
    // path is now accessible from this and all other derived collections. 
}); 
+1

傳承是做的JavaScript當我想到過去的事情:) 似乎是一個不錯的解決方案 – 2012-02-03 16:21:41

+0

好吧,這工作正常:)感謝您指出 – 2012-02-03 22:16:05

+0

出於好奇,是否將路徑作爲屬性放在AppView模型上是可行的選項? – Tjorriemorrie 2012-02-06 08:26:31

相關問題