0
我有一个模式输入文件上传,我试图处理其onChange事件。 https://stackoverflow.com/a/19647381/769326Angular 1.5 ES6输入文件更改处理程序
这是我在ES6代码:我按照这个解决方案中创建自定义onChange处理输入文件上传一条指令
class FileUploadOnChange {
constructor() {
this.restrict = 'A';
}
link(scope, element, attrs) {
const onChangeHandler = scope.$eval(attrs.fileUploadOnChange);
element.bind('change', onChangeHandler);
}
static directiveFactory() {
FileUploadOnChange.instance = new FileUploadOnChange();
return FileUploadOnChange.instance;
}
}
class MyController {
constructor() {
this.test = 'Hello, World';
}
doSomething(e) {
console.log(this);
}
}
angular.module('MyApp', [])
.directive('fileUploadOnChange', FileUploadOnChange.directiveFactory)
.component('myFileUpload', {
template: '<input type="file" file-upload-on-change="$ctrl.doSomething">',
controller: MyController
});
然而,当我选择一个文件中,this
当值我登录在doSomething
是输入元素,而不是控制器。我如何将控制器上下文传递给changeHandler?谢谢。这个是fiddle。