Vue가 mapState에 정의한 속성에 값을 부여하여 오류를 보고하는 문제 해결
Vue 2.9.6
2. 문제 설명
<script>
import { mapState } from 'vuex';
export default {
name: "displayCount",
computed: {
...mapState({
...
count: state => state.a.count
})
},
methods: {
increaseCount () {
this.count = this.count + 1
}
}
};
</script>
<style>
</style>
위와 같이, 우리는 increaseCount 함수를 실행할 때, 맵state 함수에 정의된this를 비추기를 희망합니다.count 부여, 이 값에 1 증가, 결과, 알림[Vue warn]: Computed property "count"was assigned to but it has no setter.
3. 솔루션 1
아래와 같이 속성을 "mapState에서 이동"한 다음에 속성에 get, set 방법을 추가합니다. 각각 값을 가져오고 변경하는 데 사용됩니다. (store 상태 관리에 따라 규정된 방식)
<script>
import { mapState } from 'vuex';
export default {
name: "displayCount",
computed: {
...mapState({
...
}),
count: {
get() {
return this.$store.state.a.count;
},
set(val) {
this.$store.commit("increaseCount", val);
}
}
},
methods: {
increaseCount () {
this.count = this.count + 1
}
}
};
</script>
주의: this.$store.commit("increaseCount", val);
의 increaseCount 방법 이름은 methods에서 정의한 방법 이름이 아니라store에서 정의한 방법 이름입니다.4. 솔루션 2
현재 속성 값과store 상태 값을 비교한 다음, 비교 결과에 따라store 상태 관리 규칙에 따라 상태 값을 업데이트할지 결정합니다.
<script>
import { mapState } from 'vuex';
export default {
name: "displayCount",
computed: {
...mapState({
count: state => state.a.count
})
},
methods: {
increaseCount () {
if (this.count == this.$store.state.a.count) {
this.$store.commit("increaseCount", this.count+1);
}
}
}
};
</script>
총결산Vue가mapState에 정의된 속성 부여 오류를 해결하는 문제에 관한 이 글은 여기에 소개되었습니다. 더 많은 관련 vue가mapState 속성 부여 내용은 저희 이전의 글을 검색하거나 아래의 관련 글을 계속 보십시오. 앞으로 많은 응원 부탁드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Fastapi websocket 및 vue 3(Composition API)1부: FastAPI virtualenv 만들기(선택 사항) FastAPI 및 필요한 모든 것을 다음과 같이 설치하십시오. 생성main.py 파일 및 실행 - 브라우저에서 이 링크 열기http://127.0.0.1:...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.