TIL
[TIL] 20211125 props default/ typescript error 처리/ vue option api model
자바칩 프라푸치노
2021. 11. 25. 17:49
1. props undefined error
부모에서 api를 호출해서 ref오브젝트에 넣어서 props로 요소들을 넘기고 있는데..
undefine으로 넘어간다.
아마도 값이 들어가기 전에 props로 넘기고 있는 것 같다.
근데 props를 찍어보니 잘 나온다.. 대체 왜이러냐!!
props에서 required true였던 것에 default 를 설정해주니까 사라졌음
2. typescript에서 에러 처리
const getOrderDetail = async () => {
try {
//코드
} catch (e) {
window.alert(e.data.meta.resultMsg);
}
};
타입스크립트에서 e의 타입을 안정해주니까 e안에 data가 있는지 그 안에 meta가 있는지 모르니까 에러가 난다.
alert((e as AxiosResponse<AResponse>).data.meta.resultMsg);
AResponse => 이 프로젝트에서 정의한 에러
이 비동기 코드는 axios 요청 코드이므로 AxiosResponse의 타입을 정의하면 된다!
3. option api 에서 model
model: {
props: 'value',
event: 'change',
},
vue2코드에서 model이라는 코드를 발견했다.
props의 value를 v-model로 바인딩 하겠다는 뜻이겠지 ? 하고
composition api 로 바꿔보았다.
setup(props, { emit }) {
const isOpen = computed({
get() {
return props.value;
},
set(value) {
emit('change', value);
},
});
return {
isOpen,
};
},
computed 에서 getter와 setter로 바인딩을 해주었다.
728x90