Vue.js2 - 어레이에 __ob_: 옵서버가 포함되어 있습니다.
(아마도) vue.js에 관한 초보자의 질문입니다.웹 소켓에서 받은 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)}
이것이 바로 제가 기대했던 것과 Canvas JS에서 작동하는 것입니다.
회선console.log(this.cartesian)
단, 출력{__ob__: Observer}
제가 알기로는 vue.js의 반응성과 관련이 있습니다.유감스럽게도, 저는 의 내용을 사용할 수 없습니다.this.cartesian
데이터가 표시되지 않으므로 캔버스JS를 사용합니다.
데이터를 표시하는 방법은 다른 방법이 없기 때문에this.cartesian
여기서 내가 뭘 잘못하고 있는지 또는 어떻게 데이터에 접근할 수 있는지에 대해 도움을 받고 싶습니다.this.cartesian
제 브라우저에서 검사하면 알 수 있듯이요.
왜냐면cartesian
는 컴포넌트 데이터의 일부이며, 게터 및 세터를 추가하면 반응합니다.
이 의도된 기능을 회피하기 위해 몇 가지 방법을 사용할 수 있지만 ES6의 객체 확산 파괴 기능을 사용하는 경우에는 일반적으로 필요하지 않습니다.
let cartesianObject = {...this.cartesian};
console.log(cartesianObject);
유사한 문제에 직면한 모든 사용자의 경우:그{__ob__: Observer}
CanvasJS 라이브러리를 방해하지 않았습니다.내가 쓸 수도 있었는데this.cartesian
문제없이.차트를 데이터로 채우는 올바른 방법을 찾지 못했을 뿐입니다.
console.log는 여기서 오해를 불러일으킬 수 있지만 어떤 경우에도 데이터를 사용할 수 있어야 합니다.{__ob__: Observer}
플레인 js에서 할 수 있는 것과 같은 방법으로요.
언급URL : https://stackoverflow.com/questions/50217838/vue-js2-array-contains-ob-observer
'source' 카테고리의 다른 글
vim에 C가 있는 자동 삽입 공간? (0) | 2022.08.28 |
---|---|
C 통역사가 있나요? (0) | 2022.08.28 |
vuejs 구성 요소에서 버튼을 클릭하여 URL을 클립보드에 복사 (0) | 2022.08.28 |
사용 가능한 포트를 찾는 방법 (0) | 2022.08.28 |
Bootstrap Vue - 메시지박스 확인 모드를 타임아웃할 수 있는 방법이 있습니까? (0) | 2022.08.28 |