我使用AngularJS和kendo上传widjet。
Html标记:
<input name="files"
kendo-upload
type="file"
k-complete="vm.onFilesUploadComplete"/>
控制器:
class MyController{
constructor(){
this.myImportantVar = false;
}
onFilesUploadComplete{
this.myImportantVar = true; // << here 'this' points to another context, not to MyController
}
}
vm -是MyController的别名。
Complete事件触发,但在事件处理程序中,我无法访问“myImportantVar”,因为“this”指向另一个上下文,而不是MyController上下文(某些角度的上下文),并且我无法继续。
如何访问'myImportantVar'?
发布于 2018-03-25 04:26:12
使用angular.element
获取控制器:
class MyController{
constructor(){
this.myImportantVar = false;
}
onFilesUploadComplete{
var elem = angular.element(this);
var vm = elem.controller();
vm.myImportantVar = true; // << here 'this' points to another context, not to MyController
}
}
有关详细信息,请参阅AngularJS element function API Reference - jQuery/jqLite Extras。
https://stackoverflow.com/questions/49469041
复制相似问题