반응형
계산된 속성이 에 할당되었지만 설정자가 없습니다.
이것이 myVal에서 동작하도록 하기 위한 올바른 구문/훅은 무엇입니까?
코드는 다음과 같습니다.
<v-item-group v-model="myVal" ...
import { mapActions, mapGetters } from 'vuex';
export default {
computed : {
...mapActions({
myVal: 'myModulePath/setMyVal'
}),
...mapGetters({
myVal: 'myModulePath/getMyVal'
}),
},
}
스토어는 다음과 같습니다.
actions: {
setMyVal({commit}, value){commit('someMutation',value);}
getters: {
getMyVal: state => { return state.myVal;}
'세터'가 작동하고 오류 메시지가 사라지도록 어떻게 배선해야 할지 모르겠어요.
이것도 시도해 봤지만 소용없었어요.
...mapState('myModulePath', ['myVal'])
와 함수로 계산된 단일 값을 정의해야 합니다.아마도:
export default {
computed : {
myVal: {
get() { return this.$store.getters.getMyVal; },
set(newValue) { this.$store.dispatch('setMyVal', newValue); }
}
},
}
계산된 속성이 새 값이 할당될 때 수행할 작업을 vue 구성 요소에 지정해야 합니다.
computed: {
myVal: {
get: () => this.$state.store.getters.myModulePath.getMyVal,
set: (value) => this.$state.commit('someMutation', value )
}
}
액션 대신 세터를 사용합니다.계산된 속성 설정기에서 액션을 사용하는 것은 좋지 않습니다.액션은 보통 비동기적이며 나중에 계산된 속성을 디버깅하려고 하면 골칫거리가 될 수 있기 때문입니다.
언급URL : https://stackoverflow.com/questions/53875457/computed-property-was-assigned-to-but-it-has-no-setter
반응형
'programing' 카테고리의 다른 글
v-bind로 특성을 한 번만 바인딩하는 방법 (0) | 2022.08.31 |
---|---|
C++에서 C로의 이행 (0) | 2022.08.31 |
Java LinkedHashMap이 처음 또는 마지막 항목을 가져옵니다. (0) | 2022.08.30 |
vuejs/변수 값을 사용하여 양방향 바인딩 제한 다른 변수 수정 시 변경 (0) | 2022.08.30 |
vuetify는 이미지가 로딩되지 않지만 prop에는 url이 표시되어 있습니다. (0) | 2022.08.30 |