我实际上遇到了一般的javascript问题。实际上,我需要在两个不同的文件中调用回调后更新列表。
这是我对回调的描述:
this.modify = function(){
var self = this;
var success = function(){
self.user = self.userEdit;
};
var err = function(data){
alert(data);
};
UserService.put(this.userEdit, success, err);
}
}
这是调用回调的函数:
UserService.put = function (data, succ, err) {
var user = {login:data.login,nom:data.nom,prenom:data.prenom,password:data.password};
$http({
url: __ADRS_SRV__ + "user/"+data._id,
method: "PUT",
data:user,
isArray: true
}).success(function(data){
succ();
}).error(function(error){
err(error);
});
}
事实上,
var success = function(){
self.user = self.userEdit;
};
似乎无法正常工作,当我在回调调用中记录self.user时,我得到了一个未定义的...
你有想法绕过这个吗?
感谢您提前
答案 0 :(得分:1)
在声明this
函数之前,您必须记住self
为success
:
var self = this;
var success = function(){
self.user = self.userEdit;
};
或者替代方法是使用this
,但将函数绑定到this
变量:
var success = function() {
this.user = this.userEdit;
}.bind(this);
希望这有帮助。