글로벌 vuex 워처
저는 Vuex 스토어에서 대규모 웹 앱에 많은 Vue 컴포넌트를 제공하고 있습니다.로깅을 위해 Vuex 상태 또는 getter를 볼 수 있으면 좋겠습니다.단, 특정 Vue 컴포넌트에 의존하지 않고 '글로벌하게' 감시할 수 있으면 좋겠습니다.이 때문에, 같은 속임수를 배제한다.
//aComponent.vue
watch:{ '$store.state.data'(value, oldValue) { /*do something here*/ }}
그리고.
//App.vue
created() {
this.$store.watch((state) => state.watchedState) => {/*do something here*/ })
}
대신 스토어가 정의되어 있는 모듈에서 직접 Vuex 상태 또는 getter를 감시하는 방법을 찾고 있습니다.그러면 상태가 변경될 때마다 이를 인수로서 전달하는 함수를 호출하여 변경 내용을 데이터베이스에 쓸 수 있습니다(이상적으로는 Vue의 경우와 같이 변경 내용 자체가 자동으로 감지됩니다).watch(new,old) {...}
.
Vuex 네이티브 방식을 사용해야 할 것 같습니다.store.watch()
이 목적을 위해.그러나 지금까지는 원하는 대로 스토어 모듈에서 호출할 수 없었습니다.
단서는?아니면 제가 뭔가를 놓쳤나요? 그리고 제가 하려는 일은 다른 기술을 통해서도 똑같이 효율적으로 수행될 수 있을까요?
돌연변이를 관찰하기 위해 다음과 같은 옵션이 있습니다.
넌 할 수 있다.subscribe
그 후 돌연변이를 통해 알려지게 됩니다.
store.timeout( ( ( ( signal , state ) = > { } )
이것은, 다음의 몇개의 방법으로 실현할 수 있습니다.
사용하다
subscribe
수작업으로 만든 스토어, 아마도main.js
저장소의 각 인스턴스에 추가되고 다시 추가되는 플러그인을 만듭니다.
subscribe
하게로깅에 vuex 공식 플러그인 사용
Getters를 감시하기 위해서는 아마도 패치 적용을 할 필요가 있을 것입니다.getters
수작업으로 소유하다
개발 중에 vuex에서 어떤 일이 일어나는지 보고 싶다면 vuejs 도구를 사용할 수 있습니다.
언급URL : https://stackoverflow.com/questions/55207126/global-vuex-watchers
'programing' 카테고리의 다른 글
Vue.js 3 및 typescript : 속성 '$store'가 유형 'ComponentPublicInstance'에 없습니다. (0) | 2022.09.01 |
---|---|
왜 Double일까요?NaN==더블.NaN 반환이 거짓입니까? (0) | 2022.09.01 |
(익명의) 내부 클래스를 사용하는 것이 누출에 안전한 때는 정확히 언제입니까? (0) | 2022.09.01 |
Java에서 List 개체를 초기화하려면 어떻게 해야 합니까? (0) | 2022.08.31 |
Java 다중 상속 (0) | 2022.08.31 |