반응형
데이터를 저장소로 전달하시겠습니까?
vue 컴포넌트에서 스토어로 데이터를 전달하려면 어떻게 해야 합니까?
내 컴포넌트는 다음과 같습니다.
methods: {
...mapActions('NavBar', [
'fix',
]),
onClick: function() {
this.fix('my-data');
},
....
그리고 매장에서는:
actions: {
fix: ({ commit }) => {
//get data here?
},
},
VueJS 2.x에서의 동작과 돌연변이는 하나의 인수를 더 사용할 수 있습니다(종종 "라고 부릅니다).payload
추가 데이터 포함).
돌연변이에 대한 VueJs 문서에서 다음을 수행합니다.
store.commit에 추가 인수를 전달할 수 있습니다.이 인수는 변환 페이로드라고 불립니다.
mutations: {
increment (state, n) {
state.count += n
}
}
store.commit('increment', 10)
대부분의 경우 payload는 여러 필드를 포함할 수 있도록 오브젝트여야 합니다.또한 기록된 변환이 보다 상세하게 설명됩니다.
mutations: {
increment (state, payload) {
state.count += payload.amount
}
}
store.commit('increment', {
amount: 10
})
액션의 경우:
액션은 동일한 페이로드 형식과 오브젝트 스타일의 디스패치를 지원합니다.
// dispatch with a payload
store.dispatch('incrementAsync', {
amount: 10
})
// dispatch with an object
store.dispatch({
type: 'incrementAsync',
amount: 10
})
이 문서에서는 액션의 정의 방법에 대해 명확하게 설명하지 않지만 다음 사항이 작동해야 할 것으로 보입니다.
actions: {
incrementAsync ({ commit, state }, payload) { ... }
}
언급URL : https://stackoverflow.com/questions/45307344/pass-data-to-a-store
반응형
'programing' 카테고리의 다른 글
단일 vue 컴포넌트에 로컬 CSS 파일 포함 (0) | 2022.08.23 |
---|---|
인라인 스타일이 VueJ에서 작동하지 않음s (0) | 2022.08.23 |
Vue 라우터의 정확한 경로 일치? (0) | 2022.08.23 |
바이너리 형식으로 인쇄할 printf 컨버터가 있나요? (0) | 2022.08.23 |
업데이트 : 상태가 아닌 스토어를 수신하는 변환 (0) | 2022.08.23 |