Javascript Vue.js2-数组包含_ob:Observer
(可能)一个关于vue.js的初学者问题。我试图使用通过websocket接收的CanvasJS库显示数据。在我开始使用vue组件之前,处理数据工作正常。让我更清楚地说: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)
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。谢谢谢谢你的建议。问题出在别的地方。现在修好了。