একটি সহজ 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?