Javascript Backbone.js视图渲染错误

Javascript Backbone.js视图渲染错误,javascript,backbone.js,viewrendering,Javascript,Backbone.js,Viewrendering,如果我这样做-每件事都很好- var UserList = Backbone.View.extend({ el: '.page', render: function(){ var users = new Users(); users.fetch({ success: function() { console.log('success');

如果我这样做-每件事都很好-

var UserList = Backbone.View.extend({
        el: '.page',
        render: function(){

            var users = new Users();
            users.fetch({
                success: function() {
                    console.log('success');

                }
            })
                this.$el.html('test');

        }
    });
但是当我插入
this.$el.html('test')进入成功回调时,我收到一个错误:

TypeError:“undefined”不是对象(正在计算“this.$el.html”)


控制台日志被正确触发。

success
中,上下文已更改,因此
不再引用视图对象(我相信它实际上引用了JQuery Ajax对象)。要解决此问题,您可以使用
var self=this
保存对视图的引用:

var users = new Users();
var self = this;
users.fetch({
    success: function() {
        console.log('success');
        self.$el.html('test');
    }
})
var users = new Users();
var self = this;
users.fetch({
    success: function() {
        console.log('success');
        self.$el.html('test');
    }
})