একটি সহজ Vue ব্লগ বিবেচনা করুন:
আমি আমার ডেটাসঞ্চয় যেমন Vuex ব্যবহার করছি এবং আমার দুই সেট আপ করার প্রয়োজন getters : একটি getPost
একটি পুনরুদ্ধারের জন্য সংগ্রহকারী post
হিসাবে ভাল একটি হিসেবে আইডি দিয়ে listFeaturedPosts
যে আয় প্রতিটি বৈশিষ্ট্যযুক্ত পোস্টের প্রথম কয়েকটি অক্ষর। বৈশিষ্ট্যযুক্ত পোস্টের তালিকার জন্য ডেটাস্টোর স্কিমা তাদের আইডি দ্বারা পোস্টগুলিকে উল্লেখ করে। এই আইডিগুলি সংক্ষিপ্তসারগুলি দেখানোর উদ্দেশ্যে প্রকৃত পোস্টগুলিতে সমাধান করা দরকার।
store / 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',
]
}
store / 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);
}
store / 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
ভিতরে থেকে ভিউক্স গেটার হিসাবে কল করব listFeaturedPosts
?