RequireJS和Backbone View - 这在初始化时没有正确确定范围

时间:2013-02-28 11:01:01

标签: backbone.js requirejs

初始化Backbone View时出现以下错误:

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

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

我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

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

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