vuex 저장소를 사용하여 카운터 구성 요소에서 여러 카운터를 추가하는 버튼이있는 간단한 앱 구성 요소가 있다고 가정합니다.Vuex 게터에서 구성 요소 소품을 사용하는 올바른 방법은 무엇입니까?
Here is the whole thing on webpackbin.
당신이 구성 요소의 속성을 통해 넘겨되는 ID로 vuex 게터를 사용하려면 나누었다 vuex git repo에서 기본 카운터 예를 들어 같은 비트, 당신은 어떻게 할 것인가?
getter는 순수한 함수 여야하므로 this.counterId
을 사용할 수 없습니다. 공식 문서에 따르면 계산 된 속성을 사용해야하지만 그 중 하나는 작동하지 않는 것으로 보입니다. 이 코드는 getter에 대해 정의되지 않은 값을 반환합니다.
import * as actions from './actions'
export default {
props: ['counterId'],
vuex: {
getters: {
count: state => state.counters[getId]
},
actions: actions
},
computed: {
getId() { return this.counterId }
},
}
코드가 잘 될 것 같다. "getId"계산 된 속성 뒤에있는 아이디어는 사용자가 주 속성 대신 구성 요소의 속성을 사용하는 것입니다. 당신의 경우에, 당신은 둘 다하고 있습니다. 아무 문제가 없지만 getId()를 호출 할 때 로직에주의를 기울여야하고 그로부터 무엇을 얻고 있는지를 고려해야합니다. –
id는 배열 색인 일뿐입니다. 계산 된 속성 자체가 잘 작동합니다. 그 getter 여전히 undefined 반환하므로 뭔가 잘못되어야합니다. 정의에 의해 getter에서'this'를 사용할 수 없기 때문에 계산 된 속성을 사용하고 있습니다. – Chris