반응형
다른 구성 요소에 사용되는 Vuex 어레이를 변환하는 중
첫 번째 컴포넌트에는 VueX에 저장된 값을 사용하여 어레이를 변경하는 기능이 있습니다.
methods: {
//get a function that changes the pickedlist array that is stored in vuex store
...mapActions([
'updatePickedDates'
]),
...mapGetters([
'dates'
]),
resetArray() {
this.updatePickedDates(this.dates}
}
다른 컴포넌트
이 어레이에 전달된 VueX의 getter를 사용합니다.
computed: {
...mapGetters(["managementNews"])
}
단, 이 경우resetArray()
함수가 실행됨 오류 발생state.pickedDates.includes is not a function
내 VueX 스토어의 getters와 modio는 다음과 같습니다.
mutations: {
mutatePickedDates: (state, payload) => {
state.pickedDates=payload
}
},
actions: {
updatePickedDates({commit}, payload) {
commit('mutatePickedDates', payload)
}
},
modules: {
},
getters : {
//get news that are of type management
managementNews: function(state) {
return state.news.filter(i => i.type === "management" && state.pickedDates.includes(i.date));
},
dates: state => {
return state.dates
},
pickedDates: state => {
return state.pickedDates
}
},
이 경우this.dates
는 함수이며 배열이 아닙니다.에러는 정의되어 있지 않지만, 정의되어 있지 않은 것을 나타냅니다.includes
방법.
mapGetters
는 계산된 속성에 대한 getter를 제공해야 합니다.그럴 리가 없다mapGetters
에 적용할 수 있다methods
만들어 내다this.dates
배열이 됩니다.
다음 중 하나여야 합니다.
methods: {
...mapActions([
'updatePickedDates'
])
},
computed: {
...mapGetters([
'dates'
]),
}
언급URL : https://stackoverflow.com/questions/60207457/mutating-vuex-array-that-is-used-in-different-component
반응형
'source' 카테고리의 다른 글
자바어로 "최종 클래스"의 의미는 무엇입니까? (0) | 2022.08.27 |
---|---|
URL에서 쿼리 문자열 매개 변수를 제거하는 중 (0) | 2022.08.27 |
Vue.js 캐시 메서드 결과 (0) | 2022.08.27 |
MacOS에서 기본 Java(JDK) 버전을 설정하거나 변경하는 방법은 무엇입니까? (0) | 2022.08.27 |
C에서 문자열을 반복하는 방법은 무엇입니까? (0) | 2022.08.25 |