2
我正在玩CoffeeScript,並且遇到了一個非常令人沮喪的錯誤。我有一個集合(這我是從一個Ajax調用填充 - 不fetch()
- 因爲我需要調整被返回的JSON)Backbone Collection沒有方法添加(在Coffeescript中)
這裏的收集
$ ->
class AppName.Members extends Backbone.Collection
model: AppName.Member
而且模型
$ ->
class AppName.Member extends Backbone.Model
很簡單吧?最終,我會建立這些以獲取非填充數據,但目前情況如此。現在我觀點
$ ->
class AppName.TitleView extends Backbone.View
template: JST['templates/title']
initialize: ->
@bind(@collection, 'add', @addOne);
@bind(@collection, 'reset', @addAll);
@bind(@collection, 'all', @render);
$.ajax
dataType: 'json'
url: '/housemembers'
success: (data, textStatus, jqXHR) ->
for member in data.results[0].members
model =
state : member.state
first_name : member.first_name
middle_name : member.middle_name
last_name : member.last_name
next_election : member.next_election
party : member.party
AppName.Members.add model
@
什麼殺了我是AppName.Members.add model
失敗:
Uncaught TypeError: Object function Members() {
Members.__super__.constructor.apply(this, arguments);
} has no method 'add'
但是,當我想到在Chrome中的元素,也顯然是對Members()
構造的add
方法! !
實際上,放入手錶AppName.Members.__super__.add
會返回一個函數回調!
那麼這裏發生了什麼?爲什麼不是AppName.Members
一個完整的Backbone集合?
這工作(有點),但我得到一個未定義的錯誤是在骨幹更深入的未定義的錯誤。我將更新一次,然後用非縮小版本解決問題,並找出如何清除我的耙子資產路徑:P – CamelBlues 2013-03-12 16:05:31
@CamelBlues:這聽起來像是無關緊要的東西。 – 2013-03-12 17:55:22
你是對的,這是非常無關的。這絕對是我的問題的正確答案,作爲一個附錄,我還需要確保我的models.coffee被加載到collections.coffee之前,因爲集合不知道該怎麼做它的模型 – CamelBlues 2013-03-23 20:32:01