我正在使用angular.js(v.1.XX)。如何调用承诺后的方法内部方法 - 角?
我有这个文件(组件):
class ReportsSiteController {
constructor ($log, $state, etc...) {
const vm = this;
}
$onInit() {
const vm = this;
// Some code
}
// Methods
submitForm(form) {
const vm = this;
// Some code
vm.SuperService.saveItem(vm.item)
.then( response => {
const vm = this;
// this method fails when called from here
vm.uploadLogo(response.id, vm.imgLogo);
})
.catch() // etc
}
uploadLogo(id, file) {
// More code
}
}
当我调用该方法uploadLogo()
失败。由于我认为范围错误(vm
,this
什么的),我无法访问uploadLogo
方法。我试过vm
,this
,只是调用方法。但没有工作。 它看起来像一个错误的方式来做到这一点。
response.id
被定义,并且它也是vm.imgLogo
。我不能从那里拨打电话uploadLogo
。
更新:
这里是console.log(this)
图像:https://i.stack.imgur.com/MHCL5.png
有什么建议?谢谢。
什么'的console.log(本);'说明了什么? – Ryan
这是一个对象,不知道它是什么。它没有可用的方法。 – jBaumann
'console.log(this,this.constructor);'显示是否使其成为'submitForm'的第一行? – Ryan