vuex '상수' 명명된 작업을 변수와 함께 참조하려면 어떻게 해야 합니까?
vuex 스토어에 다음과 같은 작업이 있습니다.
[FETCH_ADAM_BROWN_LIST](state)({commit}) {
/* Action logic */
},
다음과 같은 변수를 사용하여 유사한 이름 작업(예: FETCH_CHRIS_MATHISON_LIST)에 액세스하고 싶습니다.
this.$store.dispatch(`FETCH_${this.person}_LIST`);
그러나 이 경우 오류가 발생합니다.
VM90646:37 [vuex] unknown action type: FETCH_ADAM_BROWN_LIST
그러나 상수를 지정하면 작동합니다.
this.$store.dispatch(FETCH_ADAM_BROWN_LIST);
변수가 있는 '일정한' 명명된 작업에 액세스하려면 어떻게 해야 합니까?
mapActions를 사용해 보셨습니까?그건 당신이 원하는 것에 효과가 있을 수 있습니다.유용한 링크:Vue map 작업을 구성하는 방법
Vuex Store에서 이 구조를 사용합니다.내 작업의 대부분은 연결된 문자열을 인수로 사용하여 발송됩니다.하지만 나의 행동은 다음과 같습니다.
setCurrentUser: function ({ dispatch, commit, getters, rootGetters }, userDB) {
commit('setCurrentUser', userDB)
dispatch('resetDashboards', userDB.dashboards)
}
그러면 다음과 같이 발송할 수 있습니다.
let type = 'User'
this.$store.dispatch('setCurrent' + type)
당신의 코드에 이상한 점이 있나요?제거합니다.(state)
cause 액션 수신context
당신의 경우, 당신이 파람에서 파괴하고 있는 물체. ({commit})
.
이렇게 설정하고 이게 잘 되는지 알려주세요.
[FETCH_ADAM_BROWN_LIST]({commit}) {
/* Action logic */
},
당신이 관찰한 바와 같이, 당신이 합격했을 때FETCH_${this.person}_LIST
로.dispatch
전송된 작업 유형은 연결된 상수 이름이며 상수 변수의 실제 값이 아닙니다.
상수 변수의 실제 값을 가져오려면 함수를 사용할 수 있습니다.
MDN 문서에서:
의 주장은
eval()
함수는string
문자열이 식을 나타내는 경우 eval()은 식을 평가합니다.
다음과 같이 사용할 수 있습니다.
const FETCH_ADAM_BROWN_LIST = 'customAction';
const person = 'ADAM_BROWN';
const actionToDispatch = `FETCH_${person}_LIST`;
console.log(eval(actionToDispatch)); // customAction
사용에 주의하십시오.eval
그래도.입력한 내용을 전달하기 전에 삭제된 것이 확실하다면 문제가 없을 것입니다.
언급URL : https://stackoverflow.com/questions/54073787/how-can-i-reference-vuex-constant-named-actions-with-variables
'programing' 카테고리의 다른 글
vba를 사용하여 모듈에서 프로그래밍 방식으로 양식 만들기 (0) | 2023.06.11 |
---|---|
typescript에서 node-config를 사용하는 방법은 무엇입니까? (0) | 2023.06.11 |
jQuery에서 일치하는 요소의 요소 유형을 확인하려면 어떻게 해야 합니까? (0) | 2023.06.11 |
Android에서 앱에서 공유 기본 설정 데이터를 삭제하는 방법 (0) | 2023.06.11 |
금액 열과 차변 대변 열만 있는 테이블에서 평가판 잔액 표시를 위한 전표 선택 (0) | 2023.06.11 |