嘿,我不确定为什么此Backbone视图显示为参考错误,指出未定义UserView。用户模型显示为一种功能,因此可以正常工作。我也在jsfiddle上用JSLint运行了我的代码,js明智的还是没有问题?

下面的代码

var User = Backbone.Model.extend({
    defaults: {
        firstName: 'J.R.',
        lastName: 'Smith',
        email: '[email protected]',
        phone: '212-424-6234',
        birthday: '03/05/1982',
        city: 'New York'

    },



    location: function(){
        return this.get('firstName') + ' ' + this.get('lastName') + 'is currently in ' + this.get('city') + '.';
    }

});

var UserView = Backbone.View.extend({
    tagName: 'li',

    initialize: function() {
        this.render();
    },

    render: function() {
        $(this.el).html( this.model.get('firstName'));
    }
});

var user = new User();
var userView = new UserView({model: user});

最佳答案

您必须在window.load函数中声明关注内容。

var user = new User();
var userview = new UserView({model: user});

因为if如果不在window.load函数中,则在调用UserView的对象时,此时不会创建该对象。 :)

09-27 13:10