使用 angular.element(bar).scope().foo() 与 "this" 一起作为 constroller



我有这个控制器:

function controller(chatService,userService) {
        const vm = this;
        vm.postPhoto = postPhoto;
        function postPhoto(files) {
            console.log(files);
        }
    }

这就是我想使用postPhoto功能以获取文件并发布到服务器的地方:

       <input type="file" id="image_uploads"
       onchange="angular.element(this).scope().postPhoto(this.files)"
       style="display:none;" accept=".jpg, .jpeg, .png">

我得到了这个错误:

捕获的类型错误:无法读取未定义的属性"postPhoto">

当我使用"$scope"而不是"this"时,一切都可以正常工作,但我在问我如何在不改变范围的情况下做到这一点。除了 ng-change 不适用于上传文件

试试这个:

function controller(chatService,userService) {
        var vm = this;
        function postPhoto(files) {
            console.log(files);
        }
        vm.postPhoto = postPhoto;
    }

最新更新