반응형
계산된 소품 변경에 반응하지 않는 Vue
컴포넌트 중 하나에서 Vue composition API를 사용하고 있는데 계산된 프로펠러 변경에서 올바른 렌더링 값을 나타내는 컴포넌트를 얻는 데 문제가 있습니다.컴포넌트에 직접 프로펠러를 삽입하면 정상적으로 반응하지만 계산된 속성을 통해 전달하면 그렇지 않습니다.
계산된 속성에서도 반응적일 것으로 예상했는데 왜 그런지 잘 모르겠습니다.
코드는 다음과 같습니다.
App.vue
<template>
<div id="app">
<Tester :testNumber="testNumber" />
</div>
</template>
<script>
import Tester from "./components/Tester";
export default {
name: "App",
components: {
Tester,
},
data() {
return {
testNumber: 1,
};
},
mounted() {
setTimeout(() => {
this.testNumber = 2;
}, 2000);
},
};
</script>
Tester.vue
<template>
<div>
<p>Here is the number straight from the props: {{ testNumber }}</p>
<p>
Here is the number when it goes through computed (does not update):
{{ testNumberComputed }}
</p>
</div>
</template>
<script>
import { computed } from "@vue/composition-api";
export default {
props: {
testNumber: {
type: Number,
required: true,
},
},
setup({ testNumber }) {
return {
testNumberComputed: computed(() => {
return testNumber;
}),
};
},
};
</script>
다음은 작업 코드 및 상자입니다.
https://codesandbox.io/s/vue-composition-api-example-forked-l4xpo?file=/src/컴포넌트/Tester.vue
워처를 사용할 수 있다는 것은 알고 있습니다만, 가능하면 피하고 싶습니다.현재로서는 깨끗해지기 때문입니다.
반응성을 유지하기 위해 프로펠러를 파괴하지 마십시오.
setup(props) {
return {
testNumberComputed: computed(() => {
return props.testNumber;
}),
};
}
언급URL : https://stackoverflow.com/questions/67701816/vue-not-reacting-to-a-computed-props-change
반응형
'programing' 카테고리의 다른 글
VueJ에서 API 응답을 캐시하는 방법이 있습니까?s (0) | 2022.08.10 |
---|---|
계산된 속성이 두 번 반환됨 (0) | 2022.08.10 |
Vue를 사용하여 Laravel 경로로 데이터를 전송하기 위해 Vue.http.post 데이터를 설정하려면 어떻게 해야 합니까? (0) | 2022.08.10 |
Ionic-Vue Ionicons 5.x.x에 아이콘이 표시되지 않음 (0) | 2022.08.10 |
For Loop의 fork()에 대해 시각적으로 표시되는 동작 (0) | 2022.08.10 |