반응형
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
재산만약 당신이 정의한다면 같은 일이 일어날 것이다.methods
a를 사용하여.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 |