एक सरल Vue ब्लॉग पर विचार करें:
मैं अपने डेटासंग्रह रूप Vuex उपयोग कर रहा हूँ और मैं दो सेट करने की आवश्यकता ही टिककर खेल : एक getPostएक पुन: प्राप्त करने के लिए गेटर postके रूप में अच्छी तरह से एक के रूप में, आईडी के आधार पर listFeaturedPostsहै कि रिटर्न प्रत्येक विशेषताओं पद के पहले कुछ वर्ण। विशेष रुप से प्रदर्शित पदों के लिए डेटास्टोर स्कीमा उनके आईडी द्वारा पोस्टों को संदर्भित करता है। अंश दिखाने के उद्देश्यों के लिए इन आईडी को वास्तविक पदों पर हल करने की आवश्यकता है।
दुकान / state.js
export const state = {
featuredPosts: [2, 0],
posts: [
'Lorem et ipsum dolor sit amet',
'Lorem et ipsum dolor sit amet',
'Lorem et ipsum dolor sit amet',
'Lorem et ipsum dolor sit amet',
'Lorem et ipsum dolor sit amet',
]
}
दुकान / getters.js
export default getPost = (state) => (postID) => {
return state.posts[postID]
}
export default listFeaturedPosts = (state, getters) => () => {
console.log(getters) // {}
return state.featuredPosts.map(postID => getters.getPost(postID).substring(0, EXCERPT_LENGTH);
}
दुकान / index.js
import Vue from 'vue'
import Vuex from 'vuex'
import state from './state'
import * as getters from './getters'
import * as mutations from './mutations'
Vue.use(Vuex)
export default new Vuex.Store({
state,
getters,
mutations
})
प्रलेखन के अनुसार, gettersपैरामीटर का उपयोग अन्य गेटर्स तक पहुंचने के लिए किया जा सकता है। हालाँकि, जब मैं gettersअंदर से प्रवेश करने की कोशिश करता हूं, तो listFeaturedPostsयह खाली होता है, और मुझे getters.getPostउस संदर्भ में अपरिभाषित होने के कारण कंसोल में एक त्रुटि मिलती है।
ऊपर दिए गए उदाहरण में मैं getPostअंदर से Vuex गटर के रूप में कैसे कॉल करूं listFeaturedPosts?