使用angular.element(bar).scope()。foo()和“this”作为constroller

时间:2018-01-03 19:25:53

标签: javascript angularjs

我有这个控制器:

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">

我收到了这个错误:

  

未捕获的TypeError:无法读取未定义的属性'postPhoto'

当我使用“$ scope”而不是“this”时,一切都有效,但我问如何或如果我可以做到这一点而不改变我做范围的方式..除了ng-change不能上传文件

1 个答案:

答案 0 :(得分:0)

试试这个:

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