vue3

[vue3] markRow로 들어간 컴포넌트에서 watch쓰기

킹king 2023. 3. 15. 12:42
반응형

child component에 어떤 데이터를 전달해서 화면에 띄우는데, 저 데이터가 db와 통신 후 들어오는 거라면 시간차가 발생하기때문에 child에서 watch를 써서 나중에 값이 들어오면 전달해줬었음. 근데 markRow로 child component를 화면에 띄웠더니 잘되던 watch가 안먹혀서 열심히 찾아보다가 해결함.

 

1. watch함수 변경

// 기존
watch(props, (n, o) => (user.value = props.data));

// 변경
watch(() => {
  if (props.data) {
    user.value = props.data;
  }
}, callback());

 

---

vue에서 markRow가 뭔가 싶다면 아래 포스팅 확인!

[vue3] child component를 랜덤하게 동적으로 보여주기(markRow) (tistory.com)

 

참조

https://github.com/vuejs/core/issues/2380

 

markRaw / shallowRef is not respected by deep watch · Issue #2380 · vuejs/core

Version 3.0.0 Reproduction link https://github.com/mannok/vuex-traverse Steps to reproduce clone from minimal reproduction link npm install open App.vue to see code npm run dev Open browser and wat...

github.com

휴 이글 없었음 큰일날뻔~

모든 게시물(특히 과거 게시물)은 잘못된 방법으로 처리한것을 좋다고 써놨을 수 있습니다. 참고만 하시고 틀린게 있다면 댓글 남겨주세요~