반응형
Vue.js가 컴포넌트 내부에 부울 변경을 저장합니다.
vue.js 스토어에 부울값이 저장되어 있는데 컴포넌트 내부에서 이 값이 변경되는 것을 검출해야 합니다.userEnabled가 변경되면 컴포넌트 내의 메서드를 호출해야 합니다.새로운 값을 계산할 필요가 없습니다.
질문입니다만, 'watch'를 사용해야 합니까?아니면 좀 더 효율적인 방법이 있을까요?그렇다면 시계를 '마운트'로 설정해야 하며, 언패치는 어떻게 해야 합니까?
store.displaces를 설정합니다.
import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);
export const store = new Vuex.Store({
state : {
userEnabled: false,
}
});
user.vue
<template>
<div>
<div id="user"></div>
</div>
</template>
<script>
export default {
watch: {
'this.$store.userEnabled': function() {
console.log('test');
}
},
mounted: function() {
this.$store.watch( state => state.userEnabled, (newValue, oldValue) => {
// call function!
});
}
}
</script>
기능이 컴포넌트 내부에서만 실행되는 경우,watch
가는 길이에요.지도도 만들 수 있고userEnabled
컴포넌트의 컴퓨터 소품으로 이행하여 가독성을 향상시킵니다.단, 옵션입니다.
수동 호출$store.watch
에mounted
는 주로 반환된 패치 해제 함수를 저장하고 임의의 시점에서 속성 감시를 중지할 수 있는 옵션을 제공합니다.그러나 구성 요소가 존재하는 동안 속성을 감시하려는 경우 아무런 이점도 추가되지 않습니다.
마지막으로 원하는 기능을 언제든지 실행해야 하는지 여부userEnabled
변경을 처리하는 특정 컴포넌트에 관계없이 그 코드를 Vuex 변환 함수로 이동하여 값을 변경하는 것이 더 나을 수 있습니다.userEnabled
가게 안에서.
언급URL : https://stackoverflow.com/questions/52135465/observe-vue-js-store-boolean-change-inside-component
반응형
'sourcecode' 카테고리의 다른 글
값별 트리 맵 정렬 (0) | 2022.07.27 |
---|---|
항아리 유물의 메이븐 최종 이름 제어 (0) | 2022.07.27 |
온도 변수 때문에 프로그램이 느려집니까? (0) | 2022.07.27 |
가져오기 요청에서 데이터를 추출하여 내보냅니다. (0) | 2022.07.27 |
새 탭에서 부트스트랩 모달 열기 (0) | 2022.07.27 |