반응형
어려운 컴포넌트 1개에 대해 로컬 vuex를 생성할 수 있습니까?
vue2 질문
같은 구조의 어려운 컴포넌트가 많다.
PersonCard
components
PersonForm
components (many components)
index.vue
PersonImage
components (many components)
index.vue
index.vue
vuex 인스턴스를 글로벌이 아닌 이 컴포넌트 중 하나에 대해 생성하려고 합니다.PersonCard 폴더(컴포넌트의 루트 포인트)의 index.vue에서 vuex를 생성하고 컴포넌트가 파괴되면 파기합니다.
가능합니까?
vuex 인스턴스 내에서 동적 모듈을 사용할 수 있습니다.다음은 이 기술에 대한 링크입니다.vuex 다이내믹모듈
그러나 예를 들어 관리 패널이 있는 웹 사이트가 있고 다음과 같은 vuex 저장소를 js 파일에 생성할 수 있도록 관리 패널에서만 상태 관리 코드를 사용할 필요가 없다고 가정해 보십시오.
// store/admin.js
export default {
namespaces: true,
modules: {},
state: () => ({}),
mutations: {},
actions: {},
getters: {},
};
그런 다음 admin 루트 페이지 또는 컴포넌트에서 이 파일을 Import하고 다음을 수행합니다.
import adminStore from '@/store/admin;
...
beforeCreate() {
const hasModule = this.$store.hasModule('admin'); // to make sure you don't register a module that already exists
if (!hasModule) this.$store.registerModule('admin', adminStore);
},
beforeDestroy() {
this.$store.unregisterModule('admin'); // removes the admin module when this component destroys
}
이 컴포넌트가 파괴되지 않는 한 다음과 같은 이름 간격을 둔 모듈을 사용하여 모든 vuex 기능에 액세스할 수 있습니다.
this.$store.dispatch('admin/someActionFromAdminModule')
언급URL : https://stackoverflow.com/questions/68836340/can-i-create-local-vuex-for-one-difficult-component
반응형
'programing' 카테고리의 다른 글
Vue-i18n Single File Component 구문과 루트 메시지 결합 (0) | 2022.08.27 |
---|---|
HttpClient 로깅 사용 안 함 (0) | 2022.08.27 |
Java에서 Map 값을 증가시키는 가장 효율적인 방법 (0) | 2022.08.27 |
VueJS/Vuex에서 이름 지정 getter를 호출할 수 없는 이유는 무엇입니까? (0) | 2022.08.17 |
C에서의 비트필드 조작 (0) | 2022.08.17 |