programing

vuex 스토어에서 특정 상태가 변경될 때 이벤트 발생

copyandpastes 2022. 7. 3. 18:43
반응형

vuex 스토어에서 특정 상태가 변경될 때 이벤트 발생

다음 상태의 Vuex 스토어가 있습니다.

state: {
    authed: false,
    id: false
}

컴포넌트 내에서 변경 내용을 확인하고 싶다.authed서버에 AJAX 콜을 송신합니다.다양한 컴포넌트로 진행되어야 합니다.

나는 그것을 사용해봤어요.store.watch()단, 이 경우 다음 중 하나라도id또는authed변화들.저도 느꼈어요, 이건 다른 거예요.vm.$watch속성을 지정할 수 없습니다.내가 이걸 하려고 했을 때:

store.watch('authed', function(newValue, oldValue){
  //some code
});

다음 오류가 발생하였습니다.

[vuex] store.watch only accepts a function.

어떤 도움이라도 감사합니다!

Getter를 설정하기만 하면authed컴포넌트 스테이트와 로컬게터를 감시합니다.

watch: {
  'authed': function () {
    ...
  }
}

또는 다음을 사용할 수 있습니다.

let suscribe = store.subscribe((mutation, state) => {
  console.log(mutation.type)
  console.log(mutation.payload)
})
// call suscribe() for unsuscribe

https://vuex.vuejs.org/api/ #syslog

언급URL : https://stackoverflow.com/questions/39834698/emit-an-event-when-a-specific-piece-of-state-changes-in-vuex-store

반응형