1

初始化主干视图时出现以下错误:

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;
});

将返回视图,但在尝试绑定到事件时不会在集合或模型上失败。

我在这里缺少什么?

4

1 回答 1

0

如问题评论中所述,您需要将collection属性传递给视图:

 var view = new VehiclesView({collection:collection});
于 2013-02-28T20:18:22.983 回答