programing

Vuex 스토어 모듈 상태 개체를 비우는 방법

newsource 2022. 8. 14. 12:14

Vuex 스토어 모듈 상태 개체를 비우는 방법

Vuex 스토어 모듈 상태 개체를 완전히 비우는 방법예를 들어 다음과 같은 경우 상태 객체의 단일 속성을 삭제하는 방법을 알고 있습니다.Vue.delete(state.slidesList, 'slide1')그러나 개별 속성이 삭제되었을 때(개체 자체를 삭제하지 않고) 개체 자체의 반응성을 잃지 않고 상태 개체를 완전히 비우고 싶다(개체 자체를 삭제하지 않음).Vue.delete)는, 무효인 getter와 setter를 삭제합니다(잘못된 경우는, 올바르게 해 주세요).

직접 설정state.slideList = {}반응하면서 물체를 비우나요?만약 그렇다면 그것은 시사하는 바가 있다state.slideList = {fname: 'Appu' }오브젝트를 비우지 않고 오브젝트를 덮어쓰는 방법입니다(객체를 비우고 다시 쓰는 것이 아니라 완전히 다른 오브젝트로 덮어쓰는 것이 목표인 경우).

그렇지 않은 경우 상태 개체를 비어 있지 않은 다른 새 개체로 덮어쓰는 올바른 방법은 무엇입니까?

고마워요.

set에 속성을 추가합니다.reactive오브젝트, 새로운 속성도 반응하므로, 뷰 갱신을 트리거합니다.Vue는 정상적인 속성 추가를 감지할 수 없으므로 새 속성을 비활성 개체에 추가하려면 이 옵션을 사용해야 합니다. 문서

module.module.module.displaces

import Vue from 'vue'

const initialState = {
 foo: {},
 bar: {},
 // ...
}

const state = {...initialState}

const mutations = { // To reset a state
 RESET_FOO (state) {
  Vue.set(state, 'foo', initialState.foo)
 },

 UPDATE_FOO (state, payload) { // To update the state
  Vue.set(state, 'foo', payload)
 },

 UPDATE_IN_FOO (state, { key, value }) { // To update a key in a state
  Vue.set(state.foo, key, value)
 },

 RESET_MODULE (state) { // To reset the entire module
  Object.assign(state, initialState)
 }
}

상태를 리셋하는 변환을 만듭니다.그런 다음 다음과 같은 기본값으로 상태를 리셋합니다.

Object.assign(state, newState)

Vuex는replaceState저장소의 루트 상태를 대체하는 메서드입니다.

언급URL : https://stackoverflow.com/questions/60650335/how-to-empty-a-vuex-store-module-state-object