数据绑定在其他功能中不可用

时间:2017-09-02 11:35:08

标签: javascript vue.js

我试图将base64编码的字符串发送到我的服务器,但我使用的数据绑定是""在发送它的功能。

这是代码:

processFile: function(event) {
      var rawFile = event.target.files[0];
      var reader = new FileReader();
      reader.readAsDataURL(rawFile);
      reader.onload = function() {
        this.file = reader.result.split(',')[1];
      };
    },

所以this.file包含base64字符串,但当我在另一个函数中访问它时,它返回""

我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

尝试

processFile: function(event) {
      var rawFile = event.target.files[0];
      var reader = new FileReader();
      reader.readAsDataURL(rawFile);
      reader.onload = function() {
        this.file = reader.result.split(',')[1];
      }.bind(this);
    },

processFile: function(event) {
      var rawFile = event.target.files[0];
      var reader = new FileReader();
      reader.readAsDataURL(rawFile);
      var vm = this;
      reader.onload = function() {
        vm.file = reader.result.split(',')[1];
      };
    },