반응형
vue.js: 계산된 속성에서 라우터 매개 변수에 액세스할 수 없음
링크를 사용하여 문자열 매개 변수를 전달하려고 하는데 계산된 속성이나 메서드 속성이 매개 변수 값을 반환하지 못하는 것 같아.계산된 속성을 사용하면 전체 구성요소가 렌더링을 중지한다.
만약 내가 직접 말한다면{{ $route.params.**** }}템플릿에, 모든 게 잘 작동해하지만 그건 내가 원하는 방식이 아니야.
<template>
<div class="container my-5 py-5">
<div class="row">{{ category }}</div>
<!-- <div class="row">{{ $route.params.category }}</div> -->
</div>
</template>
<script>
export default {
name: "shops",
data() {
return {};
},
computed: {
category: () => {
return this.$route.params.category;
}
}
};
</script>
router.js 파일에서:
{
path: "/:category",
name: "category",
props: true,
component: () => import("./views/Shops.vue")
},
콘솔에서 오류 메시지를 받지 못했다.
너는 이것을 마주하고 있다.error왜냐하면 화살표 기능이 바인딩되지 않기 때문이다.this에게vue정의하려는 인스턴스(instance)computed재산만약 당신이 정의한다면 같은 일이 일어날 것이다.methodsa를 사용하여.arrow기능을 하다
화살표 함수를 사용하여 메서드/계산된 속성을 정의하지 마십시오.this효과가 없을 것이다.
교체만 하십시오.
category: () => {
return this.$route.params.category;
}
포함:
category() {
return this.$route.params.category;
}
참조 - https://vuejs.org/v2/guide/instance.html#Data-and-Methods
시도하다
category(){
return this.$route.params.category;
}
또는
category: function() {
return this.$route.params.category;
}
this화살표 함수에서 일반 함수에서와 동일하지 않음: https://medium.freecodecamp.org/when-and-why-you-should-use-es6-arrow-functions-and-when-you-shouldnt-3d851d7f0b26
반응형
'IT이야기' 카테고리의 다른 글
| 대응 사용 기록에 대해 정의되지 않은 속성 '푸시'를 읽을 수 없음 (0) | 2022.03.17 |
|---|---|
| window.location을 사용하도록 강제 적용.href(vue-properties 해시 모드) (0) | 2022.03.17 |
| Python에서 __future_는 무엇에 사용되며 언제 어떻게/사용할 것인지, 그리고 어떻게 작동하는지. (0) | 2022.03.17 |
| Vue가 특정 API 요청에 대한 데이터를 렌더링하지 않음 (0) | 2022.03.17 |
| 서로 다른 버전의 반응에서 반응 native 및 react-remedx 충돌 (0) | 2022.03.17 |