使用jBinary在VUEJS上加载二进制文件

时间:2017-05-04 12:17:49

标签: javascript parsing vue.js

我试图加载二进制文件并阅读内容
为此,我使用load函数获取我的二进制文件然后,
我调用一个解析二进制文件的函数。

问题是,我可以访问数据
我一直抱怨这个错误:

  

未捕获(承诺)TypeError:无法读取属性&parsePeturboDATFiles'未定义的       在eval(eval at 79(0.05b4762 ... .hot-update.js:7),:128:11)

我确实尝试过console.log我的数据,看看出了什么问题,但是我可以打印我的数据,但是我无法将它传递给我的其他解析函数......我无法理解为什么。

顺便说一句,这是我的代码:

<template>
  <div class="cde">
    <h1></h1>
  </div>
</template>



<script>
  import jbinary from 'jbinary'
  export default {
    name: 'CDE',
    data () {
      return {
      }
    },
    methods : {
      parsePeturboDATFiles : function (data) {
        console.log(data)


      },
    },
    mounted : function () {
      jbinary.load('./static/test.dat').then(function (data) {
        console.log(data.view) //works fine
        this.parsePeturboDATFiles(data.view) //get an error

      })

    }
  }
</script>

1 个答案:

答案 0 :(得分:0)

该错误表明它无法读取parsePeturboDATFiles属性,因为this变量正在评估undefined。将this的引用存储在另一个变量self中,然后使用该引号调用parsePeturboDATFiles()

mounted : function () {
  var self = this;
  jbinary.load('./static/test.dat').then(function (data) {
    self.parsePeturboDATFiles(data.view);
  })
}