2013-02-28 52 views
1

正常範圍的初始化一個骨幹視圖時收到以下錯誤:RequireJS和骨幹視圖 - 這不是在初始化

this.collection.on is not a function 

我有以下觀點:

define([ 
    'jquery', 
    'underscore', 
    'backbone', 
    'events', 
    'utils', 
    'text!../../templates/vehicles-template.html' 
], 
function (
    $, 
    _, 
    Backbone, 
    vent, 
    utils, 
    vehiclesTemplate) { 

    var VehiclesView = Backbone.View.extend({ 
     template: vehiclesTemplate, 
     initialize: function() { 
      this.collection.on('reset', this.render, this); //error: this.collection.on is not a function 
      utils.log('Vehicles view initialized'); 
     }, 
     render: function() { 
      this.$el.empty().html(this.template({ vehicles: this.collection.toJSON() })); 
      return this; 
     } 
    }); 

    return VehiclesView; 
}); 

將退回查看,但在嘗試綁定到事件時不會在集合或模型上失敗。

我在這裏失蹤了什麼?

+2

你是如何'new'ing你的看法?看起來你的'收集'不是一個集合。 – jevakallio 2013-02-28 11:33:21

+0

你如何構建你的視圖?像VehiclesView({model:collection})? – 2013-02-28 12:08:29

+0

未通過收藏。 @fencliff的答案,我會給你。乾杯 – Chev 2013-02-28 19:09:51

回答

0

作爲問題的意見討論,你需要將collection屬性傳遞給視圖:

var view = new VehiclesView({collection:collection});