Как текстовый файл сохранить в строке?

Пытаюсь получить из текстового файла строку, в консоль выводится как надо, но сохранить не могу, как можно ее сохранить? (использую фреймворк vue js )

uploadString( e ) {
      var file = e.target.files[0];
      var reader = new FileReader();
      reader.onload = function() {
        console.log(reader.result);
        this.textToChange=reader.result
      };

      reader.readAsText(file);
    },

Ответы (1 шт):

Автор решения: Neakit

У вас потерян контекст. Посмотрите что выводит this в обработчике onload

пример для test.txt

const Hello = Vue.extend({
  template: `
    <div>
      <input type="file" @input="uploadString"/> 
      <div v-html="msg"></div>
    </div>
  `,
  data() {
    return {
      msg: 'Hello!'
    }
  },
  methods: {
    saveText (e) {
      console.log(e.currentTarget, e.target);
      this.msg = e.target.result
    },
    uploadString( e ) {
      var file = e.target.files[0];
      var reader = new FileReader();
      reader.onload = this.saveText;
      reader.readAsText(file);
    },
  }
})

new Vue({
  el: '#app',
  components: {
    Hello
  }
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>

<div id="app">
  <hello></hello>
</div>  

→ Ссылка