aurelia js的新手。在这里,我需要在aurelia js做回调。 这是我试过的代码, 的 file.js
this.commonFunctions.get_alrdyShrdUser(this.alrdyshardAry,function(err,result){
if(!err){
console.log("err,result",err,result);
this.sharedAlrdy = result;
}else{
}
});
commonFunctions
get_alrdyShrdUser(docids,callback){
this.httpValueConverter.call_http('sharing/users/list','POST',docids,'test')
.then(data => {
if(data.meta && data.meta.statusCode == 200) {
return callback(null,data.sharedUsers)
}
});
}
这里一切正常,回调函数也返回值,但我无法为aurelia varibale( this.sharedAlrdy )赋值。它抛出错误,无法设置属性' sharedAlrdy'未定义。那还有其他方法吗?
答案 0 :(得分:0)
这与Aurelia无关。您只是遇到this
的典型JavaScript问题。
由于您使用的是Aurelia,我认为这是ES6代码并且您具有箭头功能支持。在函数回调中使用箭头函数,捕获this
时不会遇到问题:
this.commonFunctions.get_alrdyShrdUser(this.alrdyshardAry, (err, result) => {
if (!err) {
console.log("err, result", err, result);
this.sharedAlrdy = result;
} else {
}
});
有关箭头功能和this
的详细信息,请查看MDN。