我已经为此搜索了大约 2 个小时,但找不到任何东西,所以请询问。
我正在尝试第一次使用 Backbonejs,目前正在尝试进行 ajax 调用并处理结果。我知道这可能不是应该使用的函数模型,但我只是尝试一下,研究如何在其他情况下使用它。
var Login = Backbone.Model.extend({
url: WEBSITE_PATH+'login',
});
var loginView = Backbone.View.extend({
events:{
'submit form': 'login'
},
login: function(e){
e.preventDefault();
this.model.save({
username: $(e.currentTarget).find('#username').val(),
password: $(e.currentTarget).find('#password').val()
}, {
success: this.onSuccess,
error: this.onError
});
},
onSuccess: function(model, response){
console.log(this); //Returns Window object
// - - - - - ^ -> I need view object in order to get the $el and show result
}
}
$(document).ready(function(){
var login = new Login();
new loginView({ el: $('#loginForm'), model: login });
});
在模型对象中没有返回 View 的引用。 我可以全局搜索页面来显示我的结果,但这违背了使用主干的目的。
目标:在 onSuccess 中执行类似 $(this.el).find('#result_message').html(response.message)
的操作
我是否以错误的方式看待这个问题,我应该以不同的方式这样做还是有办法获取 View 对象?
最佳答案
您可以使用 jQuery proxy
功能。
success: $.proxy(this.onSuccess, this)
关于javascript - Backbonejs 在保存成功处理程序中获取 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17150261/