반응형
Vue 저장소의 변환에 두 번째 매개 변수를 보낼 수 없습니다.
이런 멋진 돌연변이 JS파일이 있어요
export default {
UPDATE_DATA: (state, data, meta) => {
state.dataTable = data;
if (meta === undefined)
return;
state.activeDataRow = meta;
}, ...
}
그것은 다음과 같은 방법으로 다른 동작에 의해 호출됩니다.
context.commit("UPDATE_DATA", Map.table(payload.type, data));
context.commit("UPDATE_DATA", Map.table(payload.type, data), meta);
액션에서 전송되는 메타를 확인했는데 확실히 정의되지 않았습니다.하지만 돌연변이의 메타를 확인해보니 그렇네요! 왜요?이 문제를 해결하려면 어떻게 해야 하나요?
vuex docs는 두 번째 인수로 payload를 보내는 것을 권장합니다.
대부분의 경우 payload는 여러 필드를 포함할 수 있도록 오브젝트여야 합니다.또한 기록된 변환이 보다 상세하게 설명됩니다.
payload에서는 다음과 같이 호출할 수 있습니다.
context.commit("UPDATE_DATA", {data: Map.table(payload.type, data), meta: meta});
당신의 돌연변이는 다음과 같습니다.
export default {
UPDATE_DATA: (state, payload) => {
state.dataTable = payload.data;
if (payload.meta === undefined)
return;
state.activeDataRow = payload.meta;
}, ...
}
돌연변이를 호출하는 대체 방법도 있습니다. 바로 객체 스타일 커밋입니다.오브젝트를 커밋으로 전달할 수 있습니다.유형은 변환명으로 다음과 같습니다.
context.commit({
type:: "UPDATE_DATA",
data: Map.table(payload.type, data),
meta: meta
});
언급URL : https://stackoverflow.com/questions/41201805/cant-send-in-a-second-parameter-to-the-mutation-in-vue-store
반응형
'programing' 카테고리의 다른 글
오류: 주 클래스를 찾거나 로드할 수 없습니다. (0) | 2022.07.31 |
---|---|
Vue.js - 컴포넌트 데이터가 갱신되지 않음 (0) | 2022.07.31 |
개체 목록을 속성별로 정렬하는 방법 (0) | 2022.07.31 |
goal org.apache.maven을 실행하지 못했습니다.플러그인: maven-displicate-displicate: 2.3.2: 디폴트 설정(default-displicate) (0) | 2022.07.31 |
컴파일 오류: "g++: 'cc1plus'를 실행하는 동안 오류가 발생했습니다. execvp:해당 파일 또는 디렉터리 없음" (0) | 2022.07.31 |