एक सरल 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
?