vuex-pathify make.display를 사용한 스토어 액션을 사용한 서브커밋 쓰기 커밋
저희 가게의 외관은 다음과 같습니다.
const state = {
user: {
profile: {
phoneNumber: '',
}
}
}
const mutations = make.mutations(state)
const actions = {
submitPhoneNumber({commit}, phone_number) {
// blah blah
commit('SET_USER@profile.phoneNumber', phone_number);
}
}
그러나 그러한 돌연변이는 발견되지 않는다.store.js 내의 store.js를 Import하여set
도우미이지만, 특히 라이브러리 작성자가 커밋과 디스패치를 결합하기 위해 내린 (내 의견으로는) 디자인 결정 때문에 상황이 상당히 섬뜩해질 수 있다고 생각한다(명시적인 것이 여기서 훨씬 더 좋았을 것이라고 생각한다).
작성자 경로 지정
Vuex는 변환을 문자열로 취급하기 때문에 Vuex 돌연변이를 사용하여 하위 속성 구문을 사용하여 변환을 커밋할 수 없습니다.
다음 명령어를 사용해야 한다는 것은 맞습니다.store.set()
이 일을 하기 위해서.
커밋과 디스패치를 명시적으로 하기 위해서는!
호출에 응답합니다.이것을 「직접 구문」이라고 부릅니다.
서브프로퍼티 구문을 사용하여 직접 커밋하려면Payload
클래스:
- https://github.com/davestewart/vuex-pathify/blob/master/src/classes/Payload.js
- https://davestewart.github.io/vuex-pathify/ # / api / properties ?id = https://davestewart.github.io/vuex-pathify/ 클래스
다음과 같은 것이 동작합니다.
import { Payload } from 'vuex-pathify'
commit('SET_USER', new Payload('SET_USER', @profile.phoneNumber', phone_number);
아직 기록을 남기지 않은 것 같아서 여기서 티켓을 만들었어요.
컴포넌트의 커밋을 사용하고 있지만 동일하게 동작합니다.
이전에 사람들이 Pathify 스타일의 커밋을 행동에 사용하는 것이 가능한지 물어봤지만, 나는 아니라고 말했지만, 나는 그것을 가능하게 할 수 있는 무언가를 생각해냈다.
상세한 것에 대하여는, 다음의 기능 요구에 따라 주세요.
언급URL : https://stackoverflow.com/questions/58196573/sub-property-write-commit-withing-store-actions-using-vuex-pathify-make-mutation
'programing' 카테고리의 다른 글
(어떤 포인터의) 크기는 항상 4입니까? (0) | 2022.08.09 |
---|---|
C와 C++는 왜 (int) + 4*5 식을 사용할 수 있습니까? (0) | 2022.08.09 |
가능하면 mod 연산자를 사용하지 않는 것이 좋습니까? (0) | 2022.08.09 |
로컬 검색 v-data-table Vuetify (0) | 2022.08.09 |
포장된 구조물은 휴대 가능합니까? (0) | 2022.08.09 |