Javascript Vue.js2-数组包含_ob:Observer

Javascript Vue.js2-数组包含_ob:Observer,javascript,vue.js,vuejs2,Javascript,Vue.js,Vuejs2,(可能)一个关于vue.js的初学者问题。我试图使用通过websocket接收的CanvasJS库显示数据。在我开始使用vue组件之前,处理数据工作正常。让我更清楚地说: export default { data() { return { cartesian: null, ws: null } }, methods: { fillData(res) { var data = JSON.parse(res.data)

(可能)一个关于vue.js的初学者问题。我试图使用通过websocket接收的CanvasJS库显示数据。在我开始使用vue组件之前,处理数据工作正常。让我更清楚地说:

export default {
  data() {
    return {
      cartesian: null,
      ws: null
    }
  },

  methods: {

    fillData(res) {
     var data = JSON.parse(res.data)

     var buffer = data.mdi
     console.log(buffer)

     this.cartesian = data.mdi
     console.log(this.cartesian)
    }

  },

  mounted() {
    this.ws = new WebSocket('ws://localhost:1111')
    this.ws.onmessage = this.fillData
  }
}
console.log(data.mdi)
输出
{0:Array(256)、1:Array(256)、2:Array(256)、3:Array(256)}
。这正是我所期望的,也是CanvasJS的工作原理。

但是,行
console.log(this.cartesian)
输出
{{uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuoObserver}
。A据我所知,这与vue.js的反应性有关。不幸的是,我不能将
this.cartesian
的内容用于CanvasJS,因为它不显示任何数据。

因为除了使用
这个,我看不到任何其他方式来显示我的数据。cartesian
我希望得到帮助,了解我在这里可能做错了什么,或者如何访问
这个中的数据。cartesian
我可以在浏览器中查看它。因为
cartesian
是组件数据的一部分,通过添加getter和setter,它变得被动

您可以使用一些技巧来绕过此预期功能,但如果您使用ES6的对象扩展解构功能,则通常不需要这些技巧

let cartesianObject = {...this.cartesian};
console.log(cartesianObject);

对于遇到类似问题的任何人来说:
{{uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuoObserver}
不会干扰CanvasJS库。我本可以毫无问题地使用
this.cartesian
。我只是没有找到用数据填充图表的正确方法。

这里的console.log可能有误导性,但您应该能够以与普通js中相同的方式使用数据,而不考虑
{{uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuooObserver}
。旁边应该有一克拉,您可以展开以查看值。这没有理由干扰您的库代码。我想还有别的事,你是对的。我没有找到用我的数据动态填充图表的正确方法<代码>{{uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。谢谢谢谢你的建议。问题出在别的地方。现在修好了。